fix another extreme case

Signed-off-by: zwwhdls <zwwhdls@hotmail.com>
pull/7184/head
zwwhdls 6 years ago
parent c41c72cee9
commit 4532485fd0

@ -301,7 +301,7 @@ func (t *parser) listItem(list []interface{}, i int) ([]interface{}, error) {
} }
case last == '[': case last == '[':
// now we have a nested list. Read the index and handle. // now we have a nested list. Read the index and handle.
i, err := t.keyIndex() nextI, err := t.keyIndex()
if err != nil { if err != nil {
return list, errors.Wrap(err, "error parsing index") return list, errors.Wrap(err, "error parsing index")
} }
@ -309,15 +309,18 @@ func (t *parser) listItem(list []interface{}, i int) ([]interface{}, error) {
if len(list) > i { if len(list) > i {
// If nested list already exists, take the value of list to next cycle. // If nested list already exists, take the value of list to next cycle.
crtList = list[i].([]interface{}) crtList = list[i].([]interface{})
} else {
crtList = list
} }
// Now we need to get the value after the ]. // Now we need to get the value after the ].
<<<<<<< HEAD
list2, err := t.listItem(crtList, i) list2, err := t.listItem(crtList, i)
if err != nil { if err != nil {
return list, err return list, err
} }
return setIndex(list, i, list2) return setIndex(list, i, list2)
=======
list2, err := t.listItem(crtList, nextI)
return setIndex(list, i, list2), err
>>>>>>> fix another extreme case
case last == '.': case last == '.':
// We have a nested object. Send to t.key // We have a nested object. Send to t.key
inner := map[string]interface{}{} inner := map[string]interface{}{}

Loading…
Cancel
Save