使用python多字典解析json
我需要从下面的json文件中获取关键字的值。比如:使用python多字典解析json,python,json,Python,Json,我需要从下面的json文件中获取关键字的值。比如: output = ['abc,'cde'] Json文件结构如下所示: d = [{ "response": {"docs": [ {"keywords": [{"value": "abc"}]}, {"keywords": [{"value": "cde"}]} ]} }] 我试过下面的方法。我相信这是多余的,因为我只得到一个级别的[“响应”][“文档”] Python内置了一个JSON编码
output = ['abc,'cde']
Json文件结构如下所示:
d = [{
"response": {"docs": [
{"keywords": [{"value": "abc"}]},
{"keywords": [{"value": "cde"}]}
]}
}]
我试过下面的方法。我相信这是多余的,因为我只得到一个级别的[“响应”][“文档”]
Python内置了一个JSON编码器/解码器。见: 差不多
import json
with open ('path/to/your_data.json') as json_data:
data = json.load(json_data)
如果您不介意使用外部库,则此任务非常容易使用,例如: 代码:
data = [{
"response": {"docs": [
{"keywords": [{"value": "abc"}]},
{"keywords": [{"value": "cde"}]}
]}
}]
import jmespath
keywords = jmespath.search('[].response.docs[].keywords[].value', data)
print(keywords)
['abc', 'cde']
结果:
data = [{
"response": {"docs": [
{"keywords": [{"value": "abc"}]},
{"keywords": [{"value": "cde"}]}
]}
}]
import jmespath
keywords = jmespath.search('[].response.docs[].keywords[].value', data)
print(keywords)
['abc', 'cde']
请告诉我们您尝试了什么。是多次使用“响应”键还是输入错误?以上数据不是有效的python指令。@leovp已编辑question@PJSantoro对不起,我已经有数据了。我已经阅读了json文件,只需要如上所述的特定值列表,您可以将其用作本机Python数据结构并循环键。