ValueError:无法解码JSON对象 - Django request.body

时间:2015-08-13 09:32:07

标签: python json django

request.body包含:

"event=project.status.update&project_id=807276&project_status_code=in_progress"

但是当我这样做时:

json.loads(request.body)

我得到了:

ValueError: No JSON object could be decoded

我做错了什么?

3 个答案:

答案 0 :(得分:3)

json.loads包含表单编码数据,而不是json编码数据。这会自动解码为request.POST中的Python dict。因此,您应该使用puppet modules list而不是直接与puppet module install一起使用{{1}}。

答案 1 :(得分:0)

json.dumps采用python字典/ JSON对象,计数器函数json.loads采用json字符串。

您无法对表单编码字符串执行转储/加载。

无论是谁发出此http请求,他们都可以执行JSON.stringify,从表单数据对象中创建有效的json字符串,将其Content-type,标题设置为application/json并发送

答案 2 :(得分:-1)

您的JSON字符串必须与下面的字符串类似才能使用json.loads()

'{
    "event": "project.status.update", 
    "project_id": "807276", 
    "project_status_code": "in_progress"
}'