【发布时间】:2023-03-03 19:57:01
【问题描述】:
我对一些使用 HTTP POST 发送数据并应返回其内容为字典的 JSON 结果的代码进行了故障排除。我正在使用 XML-RPC 包装器来公开此服务。当wrapper从http响应变量中接收到dict信息时,dict的内容就是这样形式的字符串:
{'created': datetime.datetime(2010, 12, 31, 19, 13, 8, 379909), 'worker': u'GoogleWorker', 'ready': False, 'request_id': '8f1381853a444a42a37ae5152a3af947', 'owner': u'admin', 'shortname': u'test19'}
我正在尝试使用以下语句将下面的字符串转换为 JSON 结果:
result = json.loads(response[1])
但是,当我尝试使用 json.loads 将数据转换为 JSON 时,我收到以下错误:Fault: <Fault 1: "<type 'exceptions.ValueError'>:Expecting property name: line 1 column 1 (char 1)">
我手动尝试将上述字符串转换为 JSON,但我得到了同样的错误。 dict 是否以某种方式格式错误?是因为unicode吗?我也尝试将语言环境设置为 UTF-8,但没有成功。
任何帮助将不胜感激。
【问题讨论】:
-
感谢大家的帮助。我意识到我问错了问题,因为我正在尝试调试发送给我的使用 django-piston 的 API,而我以前没有使用过它。我的实际问题与 django-piston 以及为什么每当响应是 HTTP CREATED (201) 时我的响应的 Content-Type 总是设置为 text-plain 而不是 application/json 。我会将此作为一个单独的问题提出,因为原始问题与实际问题无关(尽管有关 JSON 行为的答案很有趣!)。
标签: python django json http-post