我有一个json语句需要索引。我只想索引两个部分:“受感染的”和“结果”,我想索引真假语句以及结果,即文件名。我希望该文件成为python索引。
json文件
{
"tendersearch": {
"infected": true,
"result": "EICAR-AV-Test",
"engine": "5.27.0",
"database": "5.31",
"updated": "20160920"
}
}当前代码
import json
from pprint import pprint
with open('data.json') as data_file:
data = json.load(data_file)
pprint(data)我只想要一个结果名的真假列表。
发布于 2019-02-06 04:25:31
假设您的数据采用以下形式:
{
"keyword1":{
"infected": False
"result": "Name"
"otherParams": "otherVals"
}
"keyword2": {
...
}
}当您从python中的json导入数据时,它将被转换为字典。这意味着您可以遍历它,就像使用字典来提取实际需要的信息一样。
例如,如果您想创建一个新的字典,将result参数映射到json中的每个条目的infected参数,那么您可以通过遍历字典来轻松地做到这一点。它就像这样简单:
import json
with open('data.json') as data_file:
data = json.load(data_file)
goal = {}
for key in data.keys():
result = data[key]["result"]
infected = data[key]["infected"]
if result not in goal:
goal[result] = infected
else:
print("Repeated result key of '" + result + "'")
print(goal)对于您提供的示例文件,它将输出:
{'EICAR-AV-Test': True}我相信这就是你想要的。
该方法只需遍历json文件中的每个条目,并在输出字典中创建一个新的key => value对,将条目的result参数映射到infected参数,并迅速提醒您注意任何错误。
我相信这是你的目标,但如果没有完全回答你的问题,请告诉我。
https://stackoverflow.com/questions/54546228
复制相似问题