Python json加载请求参数

2024-05-03 08:31:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我在我的请求数据体中传递一个json作为以下内容:在

curl --data "data={"applist":{"ads":{"ad":[{"adsid":1,"view_points":25,"view_type":"full","comment":"Success"}]}}}" POSTURL

加载json时,它抛出一个错误:-在

^{pr2}$

在打印data.get('data')时,我得到了{applist:{ads:{ad:[{adsid:1,view_points:25,view_type:full,comment:Success}]}}},这是不正确的json,因为缺少双引号("")。如何加载它?


Tags: 数据viewjsondatatypecommentcurlad
2条回答

首先,如果您使用的是Flask,那么应该使用request.json来获取已经解析的json。为此,需要在curl请求中设置内容类型:

-H "content-type: application/json"

其次,您的数据不是有效的json。用这个代替:

 data='{"applist":{"ads":{"ad":[{"adsid":1,"view_points":25,"view_type":"full","comment":"Success"}]}}}'

问题是你最初通过curl发出的post请求。在post数据周围使用双引号,但在post正文中也使用了双引号。最简单的解决方法是用单引号将文章正文括起来:

curl  data 'data={"applist":{"ads":{"ad":[{"adsid":1,"view_points":25,"view_type":"full","comment":"Success"}]}}}' POSTURL

相关问题 更多 >