【问题标题】:How to do JSON handler in Django如何在 Django 中执行 JSON 处理程序
【发布时间】:2014-11-16 02:30:43
【问题描述】:

我想在 django 视图中获取和解析 json。

模板中的请求:

var values = {};
$("input[name^='param']").each(function() {
    values[$(this).attr("name")] = $(this).val();
});

$.ajax
({
    type: "POST",
    url: page,
    contentType: 'application/json; charset=utf-8',
    async: false,
    processData: false,
    data: $.toJSON(values),
    success: function (resp) {
        console.log(resp);

    }
});

在视图中:

import json
...
req = json.loads(request.body)
return HttpResponse(req)

它给我错误:

JSON 对象必须是 str,而不是 'bytes'

我做错了什么?

【问题讨论】:

  • 能否在view中显示request.body的内容?
  • {"param1":"fdgdf3","param2":"ggggg","param3":"","param4":""}

标签: python json django


【解决方案1】:

大多数 Web 框架将字符串表示视为 utf-8,因此 Python 3 中的字节(如 Django 和 Pyramid)。在python3中需要对body in进行decode('utf-8'):

req = json.loads( request.body.decode('utf-8') )

【讨论】:

    【解决方案2】:
    json_data = json.loads(request.read().decode('utf-8'))
    

    为我工作

    【讨论】:

      猜你喜欢
      • 2021-08-18
      • 1970-01-01
      • 1970-01-01
      • 2015-12-21
      • 2018-02-16
      • 1970-01-01
      • 1970-01-01
      • 2015-03-08
      • 1970-01-01
      相关资源
      最近更新 更多