【发布时间】:2025-12-03 12:25:01
【问题描述】:
示例
template = {
"Table": [
{
"level": 2,
"value": {
"element Name": "",
"add Row": "False",
"cost Type": "",
"flag": "flag",
"cost": "",
"actions": "True"
},
"RHS": {},
"children": [
{
"level": 3,
"value": {
"element Name": "",
"add Row": "False",
"cost Type": "",
"cost": "",
"actions": "True"
},
"RHS": {},
"children": []
}
]
}
]
}
考虑到上面的字典,我想追加到最后一个“孩子”,并且每次循环运行时,它都应该追加到上一次迭代中创建的孩子。 循环 1: “孩子们”:{ “级别”:4, “值”:{“元素名称”:“”, “添加行”:“假”, “成本类型”:“”, “成本”: ””, “行动”:“真”}, “右轴”:{}, “孩子们”: [] }
循环 2:
迭代 2 “孩子们”:{ “级别”:5, “值”:{“元素名称”:“”, “添加行”:“假”, “成本类型”:“”, “成本”: ””, “行动”:“真”}, “右轴”:{}, “孩子们”: [] }
等等。
我的代码是:
循环的 Python 代码
for _ in range(sublevels):
number = number + 1
child = {"level": sublevels + 2,
"value": {"element Name": "", "add Row": False,
"cost Type": "", "cost": "",
"actions": True}, "RHS": {}, "children": []}
template['Table'][0]['children'].append(child)
输出: 迭代后,JSON 应如下所示
{
"Table": [
{
"level": 2,
"value": {
"element Name": "",
"add Row": "False",
"cost Type": "",
"flag": "flag",
"cost": "",
"actions": "True"
},
"RHS": {},
"children": [
{
"level": 3,
"value": {
"element Name": "",
"add Row": "False",
"cost Type": "",
"cost": "",
"actions": "True"
},
"RHS": {},
"children": [
[
{
"level": 4,
"value": {
"element Name": "",
"add Row": "False",
"cost Type": "",
"cost": "",
"actions": "True"
},
"RHS": {},
"children": [
[
{
"level": 5,
"value": {
"element Name": "",
"add Row": "False",
"cost Type": "",
"cost": "",
"actions": "True"
},
"RHS": {},
"children": []
}
]
]
}
]
]
}
]
}
]
}
Iteration 1: template['Table'][0]['children']
Iteration 2: template['Table'][0]['children'][0]['children']
Iteration 3: template['Table'][0]['children'][0]['children'][0]['children']
【问题讨论】:
-
如果您一直在使用
template['Table'][0],那么将Table作为列表有什么意义?另外,您的问题是如何将项目附加到“儿童”列表中,或者如何为每个子级别递归(ish)? -
我正在创建一个巨大的 json,需要在迭代 1 中附加到 template['Table'][0]['children'] 然后附加到 template['Table'][0] ['children'][0]['children'] 等等。
-
所以,您希望更改对象的 deepest
children节点的内容。请查看*.com/questions/30928331/…,看看是否可以根据您的需要定制解决方案(帖子寻找最深的节点,您需要更改它以找到具有特定名称的最深节点)。
标签: python json python-3.x