【发布时间】:2019-06-01 22:53:18
【问题描述】:
我想将 post 请求正文从 json 转换为 yaml 原始json格式是这样的:
{
"traceId": "1000000316028",
"orderDto": {
"totalPrice": "0.01",
"baseList": [],
"hongbaoSn": "",
"couponSn": "",
"shelfCode": "2SvNXIz56rL0EU5PpSpzwA..",
"additionalPurchaseList": [],
"bindingList": [{
"baseSku": {
"count": 1,
"skuId": 1001088
},
"additionalSku": []
}]
}
}
然后我将其转换为 yaml 格式,如下所示:
traceId: 1000000316028
orderDto:
totalPrice: 0.01
baseList: []
hongbaoSn:
couponSn:
shelfCode: 2SvNXIz56rL0EU5PpSpzwA..
additionalPurchaseList: []
bindingList:
- baseSku: {count: 1, skuId: 1001088}
addtionalSku: []
并将其作为 post body 放入 python 请求中,如下所示:
response = requests.request("POST", url, data=json.dumps(data), headers=headers)
但是错了,响应码是-1。 我从邮递员那里复制的,正确的正文格式是这样的:
数据 = "{\n\t\"traceId\": \"1000000316028\",\n\t\"orderDto\": {\n\t\t\"totalPrice\": \"0.01\ ",\n\t\t\"baseList\": [],\n\t\t\"hongbaoSn\": \"\",\n\t\t\"couponSn\": \"\" ,\n\t\t\"shelfCode\": \"2SvNXIz56rL0EU5PpSpzwA..\",\n\t\t\"additionalPurchaseList\": [],\n\t\t\"bindingList\": [{ \n\t\t\t\"baseSku\": {\n\t\t\t\t\"count\": 1,\n\t\t\t\t\"skuId\": 1001088 \n\t\t\t},\n\t\t\t\"附加Sku\": []\n\t\t}]\n\t}\n}"
这可以响应代码 200。
但是如果我想使用 yaml 格式,哪里错了?
非常感谢!
【问题讨论】:
-
data=json.dumps(data)- 此代码用于 JSON,而不是 YAML。 -
你尝试了什么?
-
我试过 json.dumps(data) ,yaml.dump(data,Dumper=yaml.RoundTripDumper) 并从 yaml 读取数据。都错了。但是如果从json读取数据,我使用json.dump(data),它可以响应200。我在线将json转换为yaml,所以我不知道哪里错了