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{}:
for _, v := range node {
id := uuid.Must(uuid.NewV4()).String()
switch n := v.(type) {
switch v.(type) {
case map[string]interface{}:
r := reflect.ValueOf(n)
if r.Kind() != reflect.Slice {
objectNode := tview.NewTreeNode("{object}").
SetChildren(t.AddNode(v)).SetReference(Reference{ID: id, JSONType: Object})
nodes = append(nodes, objectNode)
}
objectNode := tview.NewTreeNode("{object}").
SetChildren(t.AddNode(v)).SetReference(Reference{ID: id, JSONType: Object})
nodes = append(nodes, objectNode)
case []interface{}:
arrayNode := tview.NewTreeNode("{array}").
SetChildren(t.AddNode(v)).SetReference(Reference{ID: id, JSONType: Array})
nodes = append(nodes, arrayNode)
default:
nodes = append(nodes, t.AddNode(v)...)
}

Loading…
Cancel
Save