【发布时间】:2017-12-26 17:18:24
【问题描述】:
我一直在尝试从 json 中解析一些数据,但在从 json.load 集中获取数据时遇到了一些困难。
for obj in menus:
if("parent_id" not in obj):
rootItem = {"root_id": obj["id"], "child_ids": obj["child_ids"]}
roots.append(rootItem.copy())
else:
for r in roots:
if(obj["parent_id"] == r["root_id"]):
r["child_ids"].append(obj["child_ids"])
我在 rootItem 行收到; typeError: 列表索引必须是整数,而不是 str
我不知道为什么,我正在创建一个字典,其中的值是从 obj 中提取的。
任何帮助都很棒!
编辑: 这是我正在访问并尝试创建字典以放回 json 输出的数据示例。
[[
{"child_ids": [3], "data": "House", "id": 1},
{"child_ids": [4, 5, 8], "data": "Company", "id": 2},
{"child_ids": [7], "parent_id": 1, "data": "Living Room", "id": 3},
{"child_ids": [], "parent_id": 2, "data": "Meeting Rooms", "id": 4}
]]
【问题讨论】:
-
您正在创建字典,但您可能正在访问一个列表:
obj。如果您需要适当的帮助,您应该展示您尝试使用的数据。
标签: python json list dictionary