我正在读一个json文件;看起来类似于:
[
{
"Destination_IP": "8.8.4.4",
"ID": 0,
"Packet": 105277
},
{
"Destination_IP": "9.9.4.4",
"ID": 0,
"Packet": 105278
}
]
当我解析json时:
for json_dict in data:
for key,value in json_dict.iteritems():
print("key: {0} | value: {0}".format(key, value))
我得到了:
key: Destination_IP | value: Destination_IP
我尝试使用.items()
,我尝试通过iterkeys()
和keys()
迭代密钥无效。
我可以通过json_dict['Destination_IP']
直接调用它,然后返回值。
for json_dict in data:
if 'Destination_IP' in json_dict.keys():
print json_dict['Destination_IP']
返回:
key: Destination_IP | value: 8.8.4.4
我正在使用python 2.7,所以对于运行值部分的任何帮助都将非常感激。
答案 0 :(得分:12)
更改字符串格式索引:
for json_dict in data:
for key,value in json_dict.iteritems():
print("key: {0} | value: {1}".format(key, value))
或者不使用索引:
for json_dict in data:
for key,value in json_dict.iteritems():
print("key: {} | value: {}".format(key, value))
您也可以使用名称而不是索引:
for json_dict in data:
for key,value in json_dict.iteritems():
print("key: {key} | value: {value}".format(key=key, value=value))
答案 1 :(得分:2)
您根本不需要指定索引:
for key, value in json_dict.iteritems():
print("key: {} | value: {}".format(key, value))