【发布时间】:2018-10-11 08:31:20
【问题描述】:
我有以下 JSON 输入
{
"requestId": "453sdafwa234",
"result": [
{
"seq": 0,
"GUID": "081119bd-63a8-42ca-85de-5b4761234955",
"amount": 1234,
"externalId": "1234567890",
"Status": "OK"
},
{
"seq": 1,
"GUID": "011119bd-42ca-63a8-85de-5b47111a8955",
"amount": 5678,
"externalId": "2345678901",
"Status": "OK"
}]
}
我想遍历所有result,然后输出externalId键值。
我试过了
json_op = json.loads(json_string)
for op in json_op:
for r in op["result"]:
print r["externalId"]
这不起作用。
我也试过
json_op = json.loads(json_string)
for op in json_op:
r.get["result"].get["externalId"]
但这也没有用。什么是正确的方法?
【问题讨论】:
-
你的
json有重复的键,一旦你把它作为dict加载到python 中,只保留最后一个(result)。 -
对不起,我已经更正了。
-
对于 s['result'] 中的数据: print(data['externalId']).. s 是 json
-
一旦使用
json.loads()解析了json字符串,你所拥有的是一个普通的python dict(其中一个键映射到python dicts的python列表)。它是从 json 字符串构建的这一事实完全无关紧要,它只是普通的 python 字典和列表,这两种类型都有很好的文档记录。