我正在尝试从 API 请求中提取特定字段,稍后我会将其用于另一项任务。基本上需要自动执行此请求,以便我可以跟上远程机器的时间戳。我可以使用我创建的这个脚本获取 json 列表:from datetime import datetimefrom requests.auth import HTTPBasicAuthimport requestsimport jsonresponse = requests.get("https://$hostname/api/profiler/1.13/reporting/timestamps.json", verify=False, auth=HTTPBasicAuth("$username", "$password"))time = response.json()print(json.dumps(time, indent=4, sort_keys=True))这是回应:[ { "data_resolution": "min", "datasource": "TRAFFIC", "end_time": 1591793520, "start_time": 0 }, { "data_resolution": "day", "datasource": "TRAFFIC", "end_time": 1591743600, "start_time": 0 }, { "data_resolution": "15mins", "datasource": "SERVICE", "end_time": 1591793100, "start_time": 0 }, { "data_resolution": "flow", "datasource": "TRAFFIC", "end_time": 1591793520, "start_time": 0 }, { "data_resolution": "5mins", "datasource": "TRAFFIC", "end_time": 1591793400, "start_time": 0 }, { "data_resolution": "6hours", "datasource": "TRAFFIC", "end_time": 1591786800, "start_time": 0 }, { "data_resolution": "hour", "datasource": "TRAFFIC", "end_time": 1591790400, "start_time": 0 }, { "data_resolution": "15mins", "datasource": "TRAFFIC", "end_time": 1591793100, "start_time": 0 }, { "data_resolution": "min", "datasource": "FDS_TRAFFIC", "end_time": 1591793520, "start_time": 1587220140 },我需要提取这个确切的字段(特别是结束时间字段):{ "data_resolution": "flow", "datasource": "TRAFFIC", "end_time": 1591793520, "start_time": 0 },我似乎无法提取该字段。
3 回答

开心每一天1111
TA贡献1836条经验 获得超13个赞
解决方案是遍历 json 响应:list;
后:time = response.json()
for entry in time:
if entry.get('data_resolution') == 'flow':
end_time = entry['end_time']

元芳怎么了
TA贡献1798条经验 获得超7个赞
from datetime import datetime
from requests.auth import HTTPBasicAuth
import requests
import json
response = requests.get("https://10.65.170.112/api/profiler/1.13/reporting/timestamps.json", verify=False, auth=HTTPBasicAuth("admin", "admin"))
time = response.json()
**for t in time:
end_time = (time[3]["end_time"])**
print(end_time)

扬帆大鱼
TA贡献1799条经验 获得超9个赞
试试这个:
[i['end_time'] for i in time if i['data_resolution']=='flow' and i['datasource']=='TRAFFIC']
添加回答
举报
0/150
提交
取消