Nic*_*uiz 20 python django json http-post
我已经对使用HTTP POST发送数据的一些代码进行了故障排除,并且应该返回其内容为字典的JSON结果.我使用XML-RPC包装器来公开此服务.当包装器从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'}
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用以下语句将下面的字符串转换为JSON结果:
result = json.loads(response[1])
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试使用json.loads将数据转换为JSON时,我收到以下错误: Fault: <Fault 1: "<type 'exceptions.ValueError'>:Expecting property name: line 1 column 1 (char 1)">
我手动尝试将上面的字符串转换为JSON,但我得到了同样的错误.这个词典在某种程度上是不正确的吗?是unicode吗?我也尝试将语言环境设置为UTF-8,但这不成功.
任何帮助将不胜感激.
Dan*_*man 33
您正在尝试使用错误的方法.json.loads用于将JSON加载到Python.如果你想将Python转换为JSON,你需要json.dumps.
result = json.dumps(response[1])
Run Code Online (Sandbox Code Playgroud)
该dict是Python dict文字格式,而不是JSON.你可以做:
import ast
result = ast.literal_eval(response[1])
Run Code Online (Sandbox Code Playgroud)
以该格式读取响应.你确定Django还没有JSON解码响应吗?
| 归档时间: |
|
| 查看次数: |
38838 次 |
| 最近记录: |