-3

我必须从下面的 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.

4

2 回答 2

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
于 2019-01-08T08:48:01.327 回答
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'))

于 2019-01-08T08:55:50.337 回答