[英]Extract data from nested JSON - Python
我有以下来自 HTTP 请求的输出,我试图过滤掉数据以提取两位信息。
{
"error": false,
"statusCode": 200,
"message": "OK",
"data": {
"lastChecked": "2020-03-16T22:02:35.106Z",
"sales_stats": [
{"department": "online",
"country": "United Kingdom",
"orders": 11840,
"delivered": 2101},
{"department": "instore",
"country": "United Kingdom",
"orders": 120,
"delivered": 95},
{"department": "other",
"country": "United Kingdom",
"orders": 35,
"delivered": 1}
]}}
我只关心在线部门,我只需要显示订单并从中交付。
我试图提取这个但是无济于事。
我想要的只是以下代码。
data_orders = <11840 extracted from the response>
data_delivered = <2101 extracted from the response>
print("Orders = ", data_orders)
print('Delivered = ", data_delivered)
对于最终结果
Orders = 11840
Delivered = 2101
尝试这样的事情:
json = {
"error": False,
"statusCode": 200,
"message": "OK",
"data": {
"lastChecked": "2020-03-16T22:02:35.106Z",
"sales_stats": [
{
"department": "online",
"country": "United Kingdom",
"orders": 11840,
"delivered": 2101
},
{
"department": "instore",
"country": "United Kingdom",
"orders": 120,
"delivered": 95
},
{
"department": "other",
"country": "United Kingdom",
"orders": 35,
"delivered": 1
}
]
}
}
json_data = json["data"]
# The online department is the first element in the sales_stats list
online_data_orders = json_data["sales_stats"][0]["orders"]
online_data_delivered = json_data["sales_stats"][0]["delivered"]
print(f"Orders = {online_data_orders}")
print(f"Delivered = {online_data_delivered}")
输出:
Orders = 11840
Delivered = 2101
resp = requests.get(url=url, params=params)
data = resp.json()
data_orders = data['data']['sales_stats'][0]['orders']
你可以对data_delivered
做类似的data_delivered
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.