Python 3.x 使用字典值解析json输出
您好,我的JSON文件如下所示:Python 3.x 使用字典值解析json输出,python-3.x,Python 3.x,您好,我的JSON文件如下所示: { 'hits' : 3, 'results' : [{ 'part' : { 'id' : '123', 'name' : 'to go', 'manu' :{ 'name' :'xyz' } } }] } 如何获得: hits:3 结果\u id:123 result
{
'hits' : 3,
'results' : [{
'part' : {
'id' : '123',
'name' : 'to go',
'manu' :{
'name' :'xyz'
}
}
}]
}
如何获得:
hits:3
结果\u id:123
results\u name:to go
manu_name:xyz
点击
和结果
试试这个
dout = {}
#din = json.load("file.json") #read from json
din = {'hits' : 3, 'results' : [{'part' : {'id' : '123', 'name' : 'to go', 'manu' :{ 'name' :'xyz'}}}]}
for part in din['results']:
for p, data in part.items():
dout['hits'] = din['hits']
dout['results_id'] = data['id']
dout['results_name'] = data['name']
dout['manu_name'] = data['manu']['name']
print(dout)
首先,按如下方式更新字符串,使其成为有效的JSON:
{"hits" : 3, "results" : [{"part" : {"id" : "123", "name" : "to go", "manu" :{ "name" :"xyz"}}}]}
假设这是文本文件的内容,请按以下步骤进行操作:
import json
data = {}
with open("stackOverflow/brooklinite81.json") as json_file:
data = json.load(json_file)
data
res = {'hits' :data['hits'],
'results_id': data['results'][0]['part']['id'],
'manu': data['results'][0]['part']['manu']['name']
}
res
这使得:
{'hits': 3, 'results': [{'part': {'id': '123', 'name': 'to go', 'manu': {'name': 'xyz'}}}]}
现在,您可以按如下方式创建词典:
import json
data = {}
with open("stackOverflow/brooklinite81.json") as json_file:
data = json.load(json_file)
data
res = {'hits' :data['hits'],
'results_id': data['results'][0]['part']['id'],
'manu': data['results'][0]['part']['manu']['name']
}
res
其呈现为:
{'hits': 3, 'results_id': '123', 'manu': 'xyz'}
到目前为止,您尝试了什么?对于键,输出中的值。items():打印(“键”,“值”),请更具描述性。什么是
输出
对于键,输出中的值。items():
只是循环的开始…@brooklinite81请编辑您的问题,并以正确的代码格式提及您所需的输出。比如:hits:3
等等。要使用Python的JSON库,JSON字符串必须是有效的JSON,这意味着对属性名和字符串值使用双引号。不接受单引号。在继续之前,请将文件中的所有单引号替换为双引号,否则将出现以下错误:jsondecoderror:应将属性名称括在双引号中