将json代码中的true或false语句索引到python cod

2024-10-01 00:33:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要索引一个json语句。我只想索引两部分:“infected”和“result”,我想索引True或False语句以及作为文件名的结果。我希望文件是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)

我只想按结果名列出真假


Tags: 文件importjsonfalsetruedata文件名语句
1条回答
网友
1楼 · 发布于 2024-10-01 00:33:40

假设您的数据采用以下形式:

{
    "keyword1":{
        "infected": False
        "result": "Name"
        "otherParams": "otherVals"
    }

    "keyword2": {
    ...
    }
}

在python中从json导入数据时,它将转换为字典。这意味着您可以像遍历字典一样遍历它,以提取实际需要的信息

例如,如果您想为json中的每个条目创建一个新字典,将result参数映射到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参数,并快速提醒您任何错误

我相信这是你的目标,但让我知道如果这不能完全回答你的问题

相关问题 更多 >