我需要从下面的json文件中获取关键字的值。像:
output = ['abc,'cde']
Json文件结构如下:
d = [{
"response": {"docs": [
{"keywords": [{"value": "abc"}]},
{"keywords": [{"value": "cde"}]}
]}
}]
我试过以下。我认为这是多余的,因为我只得到一个级别的["响应"] [" docs"]。
keywords = []
data = json.load(data_file)
for i in data:
keywords.append(i["response"]["docs"][0]["keywords"])
keyword_Value = [g['value'] for d in keywords for g in d]
答案 0 :(得分:0)
Python内置了JSON编码器/解码器。请参阅:https://docs.python.org/2/library/json.html
像
这样的东西import json
with open ('path/to/your_data.json') as json_data:
data = json.load(json_data)
答案 1 :(得分:0)
如果你不介意使用外部库,使用jmespath就可以轻松完成此任务:
import jmespath
keywords = jmespath.search('[].response.docs[].keywords[].value', data)
<强>代码:强>
data = [{
"response": {"docs": [
{"keywords": [{"value": "abc"}]},
{"keywords": [{"value": "cde"}]}
]}
}]
import jmespath
keywords = jmespath.search('[].response.docs[].keywords[].value', data)
print(keywords)
<强>结果:强>
['abc', 'cde']