gpt4 book ai didi

python-3.x - '错误' : 'JSON parse error - Expecting value: line 1 column 1 (char 0)' How do I fix this

转载 作者:行者123 更新时间:2023-12-04 17:44:12 27 4
gpt4 key购买 nike

我正在编写一个脚本来从不同的网络服务发出请求。从下面的 json 数据发布数据时遇到问题。当我运行patient_create_bill()函数我从响应中获取以下日志。

RESPONSE IS!!!!!
{'Error': 'JSON parse error - Expecting value: line 1 column 1 (char 0)'}
DEBUG:urllib3.connectionpool:Starting new HTTP connection (1): 0.0.0.0:9000
DEBUG:urllib3.connectionpool:http://0.0.0.0:9000 "POST /api/bill/patient/bills/ HTTP/1.1" 400 72
Creating Patient Bill .....................................

我试图对 postman 进行 POST 我收到 201 响应,这意味着有效载荷很好,没有任何问题。 enter image description here

这是我的POST 负载。
我有一个名为 mocks.py 的单独文件包含有 PATIENT_BILL_CREATE_PAYLOAD

PATIENT_BILL_CREATE_PAYLOAD = {
"bill_items": [{
"item": "Syringes",
"qty": 2,
"description": "Medicorp syringes"
}],
"bill_services": [{
"service": "Diagnosis",
"service_type": "1",
"duration": 5,
"description": "diagnosis"
}],
"client": "Sandra Hernandez"
}

这是函数
我已经导入了 PATIENT_BILL_CREATE_PAYLOAD 并在此函数中使用它。

def patient_create_bill(headers):
"""This function uses login creds provided and returns token plus logged in user data."""
url = "http://0.0.0.0:9000/api/bill/patient/bills/"
data = PATIENT_BILL_CREATE_PAYLOAD
res = requests.post(url, data=data, headers=headers)
res_data = res.json()
print("Creating Patient Bill .....................................\n")
return res_data

最佳答案

您自己的答案是正确的(将您的数据编码为 json),这里是固定的代码。这对我有用:

代替

res = requests.post(url, data=data, headers=headers)

正确的写法是...

import json

...

res = requests.post(url, data=json.dumps(data), headers=headers)

# or

res = requests.post(url, json=data, headers=headers)

有关此类请求的更多信息,请参阅 requests library docs .

关于python-3.x - '错误' : 'JSON parse error - Expecting value: line 1 column 1 (char 0)' How do I fix this,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52944880/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com