python - 从 API 读取 JSON 返回值
问题描述
我得到低于 API 的输出,我想读取所有purchaseOrder
数据。不太确定如何循环这些数据。它还配备b'
在前面。
b'[
{"purchaseOrder":
[
{
"id":"d01f0f6d-398f-4220-8a9a-44f47beedf04",
"installationNumber":null,
"peerId":"308866ba-90cb-47a7-8c73-589c0f355eb7",
"validFrom":"2019-06-07T12:51:15.000+0000",
"validTo":"2019-06-07T13:51:15.000+0000",
"originalQuantity":5,
"quantity":5,
"price":5,
"periodInitial":"2019-06-07T13:00:00.000+0000",
"periodFinal":"2019-06-07T14:00:00.000+0000"
}
],
"salesOrder":null,
"agreement":null,
"status":""
}
]'
尝试过类似的东西loaded_json = json.load(r.content)
,但没有奏效。
这是我用来获取响应的代码:
r = requests.post(url=api_endpoint, data=json.dumps(json_post), headers=headers)
解决方案
要获得json
响应,请使用data = response.json()
.
之后,您可以像往常一样逐步完成它,lists
并且dicts
:
import json
data = r.json()
print(json.dumps(data , indent=2)) # If you want to see the data from the response
for dic in data :
if 'purchaseOrder' in dic:
for item in dic['purchaseOrder']:
# item here is the `dict` for each purchaseOrder (PO).
print(json.dumps(item, indent=2)) # This will print each item in PO.
推荐阅读
- perl - 如何关闭 Gnu 进程?
- php - 使用 PHP 库
- docker - Sentry On-Premise 无法创建超级用户
- sql - 如何计算分组的总和值
- tensorflow - 为什么 MobileNetV2 仅在移动设备上比 MobileNetV1 快?
- html - 如何在中间使用全尺寸搜索表单制作 bootstrap 3 响应式导航栏?
- vue.js - Twilio TaskRouter JS SDK 不工作
- java - 使用模板的 OrientDB 的 Spring-Data
- android - 如何在双卡上使用 PhoneStateListener 收听?
- iis - 限制特定域的 IIS 重写映射