{
"id": "9",
"children": [{
"id": "8",
"children": [{
"id": "7",
"children": [{
"id": "6",
"children": [
{
"id": "0",
"type": "isPathForward"
},
{
"id": "2",
"children": [{
"id": "1",
"type": "maze_moveForward"
}],
"type": "DO"
},
{
"id": "5",
"children": [{
"id": "4",
"children": [{
"id": "3",
"type": "turnLeft"
}],
"type": "maze_turn"
}],
"type": "ELSE"
}
],
"type": "maze_ifElse"
}],
"type": "DO"
}],
"type": "maze_forever"
}],
"type": "program"
}
上面有效的JSON基本上是一个AST(抽象语法树),我只想按以下顺序提取“type”:1)node后跟2)Left child,然后3)Right child
对于上述JSON,与下面完全相同:
Program
maze_forever
DO
maze_ifElse
isPathforward
Do
maze_moveForward
Else
maze_turn
turn_Left
我没有使用json,我尝试在python中使用生成器,但在转换为dict的过程中顺序丢失了。
你能为此编写一个python实现吗?你知道吗
更新!!!!你知道吗
到目前为止,我已经尝试了:
导入json json\u字符串=json.loads文件(高于json)
when i type :
for i in json_string:
... print(i)
...
OUTPUT
type
id
children
我也试过了
import pandas as pd
d=pd.read_json('{ "id": "9", "children": [{ "id": "8", "children": [{ "id": "7", "children": [{ "id": "6", "children": [ { "id": "0", "type": "isPathForward" }, { "id": "2", "children": [{ "id": "1", "type": "maze_moveForward" }], "type": "DO" }, { "id": "5", "children": [{ "id": "4", "children": [{ "id": "3", "type": "turnLeft" }], "type": "maze_turn" }], "type": "ELSE" } ], "type": "maze_ifElse" }], "type": "DO" }], "type": "maze_forever" }], "type": "program"}')
>>> d
output :
children id type
0 {'type': 'maze_forever', 'id': '8', 'children'... 9 program
以上两种情况:
我不知道如何递归地进入孩子们,因为每个孩子都有一个或多个孩子在里面。我搜索的大多数答案都没有解释像上面我的JSON那样嵌套的JSON。你知道吗
最明显的实现是递归函数:
注意,我们正在打印当前结构的类型,然后我们递归到子结构中。你知道吗
相关问题 更多 >
编程相关推荐