如何读取 JSON(以上述格式)



我必须从下面的 JSON 响应中单独解析并获取'id'字段值(即在这种情况下13)。我的 JSON 响应将采用以下格式。这是获取策略 nessus 调用

{'policies': [{'creation_date': 1546583582,
               'description': 'New Scan',
               'has_credentials': 0,
               'id': 13}]}

我的代码:

import requests
from first import *
url = 'https://localhost:8834/policies'
headers = {'X-Cookie':mys()}
response = requests.get(url, headers=headers, verify=False)
resp = response.json()
for k,v in resp.items():
    print (v)

代码响应:

[{'creation_date': 1546583582,'description': 'New Scan','has_credentials': 0,'id': 13}]

我不确定如何编写代码以获得预期响应的结果 - 'id' : 13或只是13.

您可以通过以下任一方式执行此操作:

resp = {'policies': [{'creation_date': 1546583582,
                      'description': 'New Scan',
                      'has_credentials': 0,
                      'id': 13}]}
for k,v in resp.items():
    print(v[0]['id'])  # -> 13
# or
print(resp.popitem()[1][0]['id'])  # -> 13

如果您有多个策略并希望提取 id 以列出,您可以使用列表推导式,例如 [policy.get('id') for policies in resp.values() for policy in policies],您将获得一个ID列表

另一种方法是循环:

for policies in resp.values(): for policy in policies: print(policy.get('id'))

相关内容

  • 没有找到相关文章

最新更新