将 JSON 数据传输到 Django 网站
Posted
技术标签:
【中文标题】将 JSON 数据传输到 Django 网站【英文标题】:Transmit JSON data to Django website 【发布时间】:2012-01-17 18:52:36 【问题描述】:我正在将带有HttpPost
的java 中的application/json
传输到使用Django 的服务器。
我正在按照此处所述执行传输:JSON POST request parsing in php
如何创建接收此 json 数据的页面?
【问题讨论】:
【参考方案1】:your views 中的request
变量有一个属性request.POST
,其中包含发布数据。这是(从技术上讲,就像)一本字典。你还想看看python标准库中的json module
最后我猜你会想要类似的东西
def my_view(request):
# error checking omitted here, e.g. what if nothing is posted
# or the json is invalid etc.
posted_json = request.POST['my_json_variable']
my_dict = json.loads(posted_json)
# do something with the data
【讨论】:
如果我错了就阻止我,但这会起作用我提交一个表单,其中一个字段是 json 变量(使用application/x-www-form-urlencoded
)。这里我只传输一个 json 对象。 Java 请求按照此处的说明完成:***.com/questions/8391302/…
@MartinTrigaux:就请求对象仍将包含您的数据而言,您是不正确的。如果您需要更多如何访问它的信息,请考虑查看文档,而不是抱怨第二个没有为您编写完全正确的代码。
抱歉,没有,我已经尝试过代码,当我尝试在request.POST
中获取某些内容时,我发现了 MultiValueDictKeyError。顺便说一句,你从哪里看出我在抱怨?我只是询问更多信息,因为在我看来它不起作用,没有理由对此问题投反对票......【参考方案2】:
可以通过request.raw_post_data
接收json
data=simplejson.loads( request.raw_post_data )
【讨论】:
对于 django 1.4+,使用 request.body 作为 request.raw_post_data 已被弃用。 ***.com/a/10990800/1011746以上是关于将 JSON 数据传输到 Django 网站的主要内容,如果未能解决你的问题,请参考以下文章