fix when array in array that not parsed correctly

master 1.2.3
skanehira 5 years ago
parent 96161748ac
commit 706bb85b5c

@ -67,15 +67,15 @@ func (t *Tree) AddNode(node interface{}) []*tview.TreeNode {
case []interface{}: case []interface{}:
for _, v := range node { for _, v := range node {
id := uuid.Must(uuid.NewV4()).String() id := uuid.Must(uuid.NewV4()).String()
switch n := v.(type) { switch v.(type) {
case map[string]interface{}: case map[string]interface{}:
r := reflect.ValueOf(n) objectNode := tview.NewTreeNode("{object}").
if r.Kind() != reflect.Slice { SetChildren(t.AddNode(v)).SetReference(Reference{ID: id, JSONType: Object})
objectNode := tview.NewTreeNode("{object}"). nodes = append(nodes, objectNode)
SetChildren(t.AddNode(v)).SetReference(Reference{ID: id, JSONType: Object}) case []interface{}:
arrayNode := tview.NewTreeNode("{array}").
nodes = append(nodes, objectNode) SetChildren(t.AddNode(v)).SetReference(Reference{ID: id, JSONType: Array})
} nodes = append(nodes, arrayNode)
default: default:
nodes = append(nodes, t.AddNode(v)...) nodes = append(nodes, t.AddNode(v)...)
} }

Loading…
Cancel
Save