基础的JSON树构建

This commit is contained in:
白茶清欢 2023-03-30 14:32:35 +08:00
parent 718344dcc1
commit 4629e31171

View File

@ -64,6 +64,7 @@ func (g *Generate) init() error {
}
g.root.ValueType = valueType
g.currentNode.ValueType = valueType
for {
if startIndex >= len(g.jsonDataByte) {
@ -83,6 +84,16 @@ func (g *Generate) init() error {
return err
}
fmt.Println(jsonKey, valueType, jsonValue, startIndex)
// 创建节点, 并挂在到树上
var newNode *Node
if g.currentNode.ValueType == ValueTypeArray || g.currentNode.ValueType == ValueTypeMap {
newNode = NewNode(jsonKey, jsonValue, valueType, g.currentNode)
g.currentParentNode = g.currentNode
g.currentParentNode.SonNodeList = append(g.currentParentNode.SonNodeList, newNode)
} else {
newNode = NewNode(jsonKey, jsonValue, valueType, g.currentParentNode)
}
g.currentNode = newNode
}
return nil
}