From af542eff9e1e51561a9efa37685ee07b1d01b53e Mon Sep 17 00:00:00 2001 From: Adam Scarr Date: Thu, 10 Aug 2017 21:04:14 +1000 Subject: Add parse logging --- json/json.go | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'json') diff --git a/json/json.go b/json/json.go index 2748108..0d78cf5 100644 --- a/json/json.go +++ b/json/json.go @@ -1,6 +1,8 @@ package json -import . "github.com/vektah/goparsify" +import ( + . "github.com/vektah/goparsify" +) var ( _value Parser @@ -11,18 +13,18 @@ var ( _number = NumberLit() _properties = Some(Seq(StringLit(`"`), ":", &_value), ",") - _array = Map(Seq("[", Some(&_value, ","), "]"), func(n Result) Result { + _array = Map(Seq("[", Cut, Some(&_value, ","), "]"), func(n Result) Result { ret := []interface{}{} - for _, child := range n.Child[1].Child { + for _, child := range n.Child[2].Child { ret = append(ret, child.Result) } return Result{Result: ret} }) - _object = Map(Seq("{", _properties, "}"), func(n Result) Result { + _object = Map(Seq("{", Cut, _properties, "}"), func(n Result) Result { ret := map[string]interface{}{} - for _, prop := range n.Child[1].Child { + for _, prop := range n.Child[2].Child { ret[prop.Child[0].Result.(string)] = prop.Child[2].Result } -- cgit v1.2.3