python - json响应中的访问字段
问题描述
我正在尝试从 API 请求中提取特定字段,稍后我会将其用于另一项任务。基本上需要自动化这个请求,这样我才能跟上远程机器的时间戳。
我可以使用我创建的这个脚本获取 json 列表:
from datetime import datetime
from requests.auth import HTTPBasicAuth
import requests
import json
response = 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": "5mins",
"datasource": "FDS_TRAFFIC",
"end_time": 1591793400,
"start_time": 1587219900
},
{
"data_resolution": "hour",
"datasource": "FDS_TRAFFIC",
"end_time": 1591790400,
"start_time": 1587218400
}
]
我需要提取这个确切的字段(特别是结束时间字段):
{
"data_resolution": "flow",
"datasource": "TRAFFIC",
"end_time": 1591793520,
"start_time": 0
},
我似乎无法提取该字段。
解决方案
解决方案是遍历 json 响应list
:
后:time = response.json()
for entry in time:
if entry.get('data_resolution') == 'flow':
end_time = entry['end_time']
推荐阅读
- python - 重复,drop_duplicates 故障
- rust - Jemalloc、Debug Symbol 和 Panic 消耗了多少内存?怎么找到这个?它位于哪里?
- c# - 实体框架类型中的每个属性名称必须是唯一的
- python - 使用霍夫变换检测圆
- python - 熊猫合并中的vlookup行为
- logging - 根据日期前缀拆分文件?
- javascript - 我收到“第 2 行错误,字符 4:解析错误。预期的主表达式”
- networking - C#如何获取网络适配器指标?
- xamarin.forms - Xamarin iOS 中的 PayUMoney 集成
- asp.net-core - 使用 IdentityServer4 使用授权中间件保护静态文件