1
0
mirror of https://github.com/json-iterator/go.git synced 2025-07-03 23:30:41 +02:00

#145 interface {} customizatoin is recursive

This commit is contained in:
Tao Wen
2017-08-22 10:39:01 +08:00
parent 39e9d67807
commit cdbd2ed810
2 changed files with 22 additions and 23 deletions

View File

@ -285,14 +285,18 @@ func (iter *Iterator) Read() interface{} {
case ArrayValue:
arr := []interface{}{}
iter.ReadArrayCB(func(iter *Iterator) bool {
arr = append(arr, iter.Read())
var elem interface{}
iter.ReadVal(&elem)
arr = append(arr, elem)
return true
})
return arr
case ObjectValue:
obj := map[string]interface{}{}
iter.ReadMapCB(func(Iter *Iterator, field string) bool {
obj[field] = iter.Read()
var elem interface{}
iter.ReadVal(&elem)
obj[field] = elem
return true
})
return obj