Set index when loading maps.

This commit is contained in:
Mike Schinkel 2018-07-21 02:28:25 -04:00
parent ba784d767a
commit b339e0f20d
1 changed files with 5 additions and 0 deletions

View File

@ -308,6 +308,7 @@ func (t Result) arrayOrMap(vc byte, valueize bool) (r arrayOrMapResult) {
var value Result var value Result
var count int var count int
var key Result var key Result
var index = 0
if vc == 0 { if vc == 0 {
for ; i < len(json); i++ { for ; i < len(json); i++ {
if json[i] == '{' || json[i] == '[' { if json[i] == '{' || json[i] == '[' {
@ -385,7 +386,9 @@ func (t Result) arrayOrMap(vc byte, valueize bool) (r arrayOrMapResult) {
if valueize { if valueize {
r.oi[key.Str] = value.Value() r.oi[key.Str] = value.Value()
} else { } else {
value.Index = index
r.o[key.Str] = value r.o[key.Str] = value
index++
} }
} }
count++ count++
@ -393,7 +396,9 @@ func (t Result) arrayOrMap(vc byte, valueize bool) (r arrayOrMapResult) {
if valueize { if valueize {
r.ai = append(r.ai, value.Value()) r.ai = append(r.ai, value.Value())
} else { } else {
value.Index = index
r.a = append(r.a, value) r.a = append(r.a, value)
index++
} }
} }
} }