如何在Django中接收JSON格式的数据

如何在Django中接收JSON格式的数据,第1张

Restful请求里面的json数据余州吧,最方便的方法是用django rest framework框架。漏知次之就是自己用json解析request.body,有竖搜蔽的时候可能还需要编码转换

其实你要知道,http的报文里都是字镇族稿符串,只不过有的穗竖会规定,这个字符串是json格式的,这个字符串是text/html的,这就是头部信息。说到底,网页也不过就是一堆html标签,json也不过就是规范一点的数据结构,在前后端通讯的御孝过程中,都是字符串而已。所以你说要传网页不是json,那就用HttpResponse(template.render(context))返回就好了。

因为客户端传递过来的数据是json数据,可以看成一个json对象。不是传大饥敬过来的post表单,所以你用request.POST.get('ID', '')这种肯定取不到值的。

def datasave(request):

    dict = {}

    info = 'Data log save success'

    try:

        if request.method == 'POST':

            req = simplejson.loads(request.raw_post_data)

            username = req['username']

            password = req['password']

            datas = req['datas']

  肢碧 滚慎         game_id1 = datas[0]['game_id']

   except:

        import sys

        info = "%s || %s" % (sys.exc_info()[0], sys.exc_info()[1])

    dict['message']=info

    dict['create_at']=str(ctime())

    json=simplejson.dumps(dict)

    return HttpResponse(json)

request.raw_post_data表示的是从客户端发送过来的原始数据,为了纯字符串, 通过simplejson的loads方法将其转换为字典数据类型req.

    上面的代码也演示了如何以JSON格式作为响应值, 而非HTML, 即通过simplejson的dumps方法, 将字典数据dict序列化为字符串形式,将通过HttpResponse返回.


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12424378.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-23
下一篇2023-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存