【发布时间】:2019-06-20 04:35:53
【问题描述】:
通过 API,我接收 json 输出,而不是将所有输出写入分析,我只想要具有“真”值的数据。
原始 json 数据示例:
scans:
Scanner1:
detected: false
version: "1.1.1.1"
result: null
update: "14123412"
Scanner2:
detected: true
version: "2.2.2.2"
result: "trojan"
update: "23142551"
Python 代码
with open('C:\\output.json', 'w') as outfile:
for item in data["scans"]:
if 'item["detected"] === true
json.dump(data)
期望的输出
scans:
Scanner2:
detected: true
version: "2.2.2.2"
result: "trojan"
update: "23142551"
这绝对行不通,我不知道 JSON,但我必须证明我试过了,哈哈。
谢谢!
更新
import requests
url = '<url>'
params = {'apikey': <key>, 'resource': '<value>'}
response = requests.get(url, params=params)
result = []
with open('C:\\output.json', 'w') as outfile:
data = response.json()
for i in data['scans']:
if (i['detected']=='true'): // error thrown here
result.append(i) // TypeError: string indices must be integers
print(result)
【问题讨论】:
-
这看起来不像 JSON...
-
这是一个yaml文件吗?
-
不.. 它是一个 JSON 对象
-
JSON 通常有 { } 和 [ ]