如何读取JSON(以提及的格式)?

时间:2019-01-08 08:12:05

标签: python json python-3.x nessus

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

{'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

2 个答案:

答案 0 :(得分:0)

您可以通过以下两种方式之一进行操作:

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

答案 1 :(得分:0)

如果您有多种策略并想提取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'))