[英]Convert Python dictionary to a JSON array
這是我連接到API的函數:
def order_summary():
"""Get order summary for a specific order"""
# Oauth2 params
headerKey = api_login()
headers = {'Authorization': headerKey}
# Payload params
payloadOrderSum = {
"domainId": 15,
"domainName": "SGL",
"orderId": 3018361
}
# API response
orderSumResp = requests.post(url + "order/summary", data=payloadOrderSum, headers=headers)
print(orderSumResp.content)
該API期望使用一個JSON數組作為有效載荷參數,其本質如下所示:
[
{
"domainId": 0,
"domainName": "string",
"orderId": 0
}
]
我在此API上編碼的其他終結點不需要將參數作為數組,因此我可以按原樣使用它們並將它們作為字典發送,並且可以正常工作。
我已經使用JSON庫嘗試了幾件事,但似乎無法正常工作。 我看到JSonEncoder將列表和元組轉換為JSON數組,但我無法弄清楚。
不知道我還能提供什么其他信息,只是問是否有。
謝謝!
將payloadOrderSum
包裝到一個列表中:
payloadOrderSum = {
"domainId": 15,
"domainName": "SGL",
"orderId": 3018361
}
orderSumResp = requests.post(url + "order/summary", json=[payloadOrderSum], headers=headers)
請注意,我使用json
kwarg代替了data
(已在2.4.2版中添加 )。
用json.dumps 請求文檔轉儲字典
r = requests.post(url, data=json.dumps(payload))
如果您指定嘗試使用JSON庫,則可能會有所幫助。
但是,如果您還沒有這樣做,可能想嘗試一下:
import json
payloadOrderSum = json.dumps(
{
"domainId": 15,
"domainName": "SGL",
"orderId": 3018361
}
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.