我仍然是python的新手,也是json的新手。我试图通过json中的输出。我还不确定哪些字段需要打印出来,但我知道其中有两个字段需要打印出来。
我怎么能改变:
import json
from pprint import pprint
with open('out.json') as data_file:
data = json.load(data_file)
pprint(data)
打印出来说,第一场和第二场?
我想如果我可以打印第一场和第二场,我可以玩它,直到我找到正确的场。我想这是一个derp级问题,但能够打印特定字段是我需要做的。
答案 0 :(得分:1)
json.load
正在返回python obj(https://docs.python.org/3/library/json.html#json.load),因此取决于' out.json'的内容。它可以是字典,列表或其他几种类型。
如果是字典,您可以使用data['key']
或者它的列表是data[index]
- 其中index是1,2,...
对于循环使用for
,即列表:
for elem in data:
print(elem)
的字典:
for key, value in data.items():
print(key, value)
答案 1 :(得分:0)
您可以在 python's json documentation轻松找到它。
此处数据是dict
类型对象。您可以使用相应的键获取任何值:
print data['field']
但如果KeyError
中没有field
密钥,它会抛出dict
。为避免此问题,您可以使用get()
方法。
print data.get('field')
如果缺少密钥,这将返回None
。