diff options
Diffstat (limited to 'json/json.go')
-rw-r--r-- | json/json.go | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/json/json.go b/json/json.go index 4155bd2..7c84f42 100644 --- a/json/json.go +++ b/json/json.go @@ -21,23 +21,21 @@ var ( ret := map[string]interface{}{} for _, prop := range n.Children[1].Children { - ret[prop.Children[0].Token] = prop.Children[2].Result + ret[prop.Children[0].Result.(string)] = prop.Children[2].Result } return Node{Result: ret} }) - _null = Bind("null", nil) - _true = Bind("true", true) - _false = Bind("false", false) - - _string = Map(StringLit(`"`), func(n Node) Node { - return Node{Result: n.Token} - }) + _null = Bind("null", nil) + _true = Bind("true", true) + _false = Bind("false", false) + _string = StringLit(`"`) + _number = NumberLit() ) func init() { - value = Any(_null, _true, _false, _string, _array, _object) + value = Any(_null, _true, _false, _string, _number, _array, _object) } func Unmarshal(input string) (interface{}, error) { |