Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
张磊
/
FileStorageBeego
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
e52386b5
authored
2014-07-15 10:01:26 +0800
by
fuxiaohei
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
code style simplify
1 parent
024817aa
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
26 additions
and
41 deletions
config/json.go
config/json.go
View file @
e52386b
...
...
@@ -29,13 +29,13 @@ func (js *JsonConfig) Parse(filename string) (ConfigContainer, error) {
return
nil
,
err
}
defer
file
.
Close
()
x
:=
&
JsonConfigContainer
{
data
:
make
(
map
[
string
]
interface
{}),
}
content
,
err
:=
ioutil
.
ReadAll
(
file
)
if
err
!=
nil
{
return
nil
,
err
}
x
:=
&
JsonConfigContainer
{
data
:
make
(
map
[
string
]
interface
{}),
}
err
=
json
.
Unmarshal
(
content
,
&
x
.
data
)
if
err
!=
nil
{
var
wrappingArray
[]
interface
{}
...
...
@@ -61,12 +61,10 @@ func (c *JsonConfigContainer) Bool(key string) (bool, error) {
if
val
!=
nil
{
if
v
,
ok
:=
val
.
(
bool
);
ok
{
return
v
,
nil
}
else
{
return
false
,
errors
.
New
(
"not bool value"
)
}
}
else
{
return
false
,
errors
.
New
(
"not exist key:"
+
key
)
return
false
,
errors
.
New
(
"not bool value"
)
}
return
false
,
errors
.
New
(
"not exist key:"
+
key
)
}
// Int returns the integer value for a given key.
...
...
@@ -75,12 +73,10 @@ func (c *JsonConfigContainer) Int(key string) (int, error) {
if
val
!=
nil
{
if
v
,
ok
:=
val
.
(
float64
);
ok
{
return
int
(
v
),
nil
}
else
{
return
0
,
errors
.
New
(
"not int value"
)
}
}
else
{
return
0
,
errors
.
New
(
"not exist key:"
+
key
)
return
0
,
errors
.
New
(
"not int value"
)
}
return
0
,
errors
.
New
(
"not exist key:"
+
key
)
}
// Int64 returns the int64 value for a given key.
...
...
@@ -89,12 +85,10 @@ func (c *JsonConfigContainer) Int64(key string) (int64, error) {
if
val
!=
nil
{
if
v
,
ok
:=
val
.
(
float64
);
ok
{
return
int64
(
v
),
nil
}
else
{
return
0
,
errors
.
New
(
"not int64 value"
)
}
}
else
{
return
0
,
errors
.
New
(
"not exist key:"
+
key
)
return
0
,
errors
.
New
(
"not int64 value"
)
}
return
0
,
errors
.
New
(
"not exist key:"
+
key
)
}
// Float returns the float value for a given key.
...
...
@@ -103,12 +97,10 @@ func (c *JsonConfigContainer) Float(key string) (float64, error) {
if
val
!=
nil
{
if
v
,
ok
:=
val
.
(
float64
);
ok
{
return
v
,
nil
}
else
{
return
0.0
,
errors
.
New
(
"not float64 value"
)
}
}
else
{
return
0.0
,
errors
.
New
(
"not exist key:"
+
key
)
return
0.0
,
errors
.
New
(
"not float64 value"
)
}
return
0.0
,
errors
.
New
(
"not exist key:"
+
key
)
}
// String returns the string value for a given key.
...
...
@@ -117,12 +109,9 @@ func (c *JsonConfigContainer) String(key string) string {
if
val
!=
nil
{
if
v
,
ok
:=
val
.
(
string
);
ok
{
return
v
}
else
{
return
""
}
}
else
{
return
""
}
return
""
}
// Strings returns the []string value for a given key.
...
...
@@ -143,9 +132,8 @@ func (c *JsonConfigContainer) DIY(key string) (v interface{}, err error) {
val
:=
c
.
getdata
(
key
)
if
val
!=
nil
{
return
val
,
nil
}
else
{
return
nil
,
errors
.
New
(
"not exist key"
)
}
return
nil
,
errors
.
New
(
"not exist key"
)
}
// section.key or key
...
...
@@ -155,24 +143,21 @@ func (c *JsonConfigContainer) getdata(key string) interface{} {
if
len
(
key
)
==
0
{
return
nil
}
sectionkey
:=
strings
.
Split
(
key
,
"::"
)
if
len
(
sectionkey
)
>=
2
{
cruval
,
ok
:=
c
.
data
[
sectionkey
[
0
]]
if
!
ok
{
return
nil
}
for
_
,
key
:=
range
sectionkey
[
1
:
]
{
if
v
,
ok
:=
cruval
.
(
map
[
string
]
interface
{});
!
ok
{
return
nil
}
else
if
cruval
,
ok
=
v
[
key
];
!
ok
{
return
nil
sectionKey
:=
strings
.
Split
(
key
,
"::"
)
if
len
(
sectionKey
)
>=
2
{
if
curValue
,
ok
:=
c
.
data
[
sectionKey
[
0
]];
ok
{
for
_
,
key
:=
range
sectionKey
[
1
:
]
{
if
v
,
ok
:=
curValue
.
(
map
[
string
]
interface
{});
ok
{
if
v2
,
ok
:=
v
[
key
];
ok
{
return
v2
}
}
}
}
return
cruval
}
else
{
if
v
,
ok
:=
c
.
data
[
key
];
ok
{
return
v
}
return
nil
}
if
v
,
ok
:=
c
.
data
[
key
];
ok
{
return
v
}
return
nil
}
...
...
Write
Preview
Styling with
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment