我有以下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"]
但这也不起作用。正确的方法是什么?
答案 0 :(得分:1)
for i in json_op["result"]:
print (i["externalId"])
这有效。
答案 1 :(得分:1)
import json
s = """{
"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"
}]
}"""
json_op = json.loads(s)
for item in json_op['result']:
print(item['externalId'])
输出:
1234567890
2345678901
答案 2 :(得分:1)
那为什么不列出理解:
print([i["externalId"] for i in json_op["result"]])
或要格式化:
print('\n'.join([i["externalId"] for i in json_op["result"]]))