Python: "import JSON... json.loads(request.body)"2.7->3.4

标签 python json django python-2.7 python-3.x

我最近将 django 服务器从 python 版本 2.7 转换为 python 版本 3.4.1。 我的 request.body 是一个序列化为 JSON 的数组。反序列化后,它将是一个 python 列表。

不幸的是,json.loads 似乎不再需要原始字节(这就是 request.body)。

如何解决这个问题?

def index(request):
    if request.method == 'POST':

        print("Made it here!")
        registered = []
        notRegistered = []
        print("Is it this?")

        print(repr(request.body))

        data = json.loads(request.body)

        print("Did I make it here?")

最后一次调用 print 永远不会执行,这就是为什么我假设它与 json.loads() 有关

最佳答案

我希望发生回溯,而不仅仅是“最后一行从未执行”,但除此之外......

# Let's just assume the request is UTF-8 encoded.
data = json.loads(request.body.decode('utf-8'))

关于Python: "import JSON... json.loads(request.body)"2.7->3.4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24771250/

相关文章:

python - 将 pandas 中的列转换为整数以准备回归

Python json.dumps(<val>) 输出缩小的 json?

Python 从 json 值创建字典

css - Django:对于扩展另一个 ModelForm 的 ModelForm 不显示 CSS 类

python - 如何为字母和字母数字密码创建暴力密码破解程序?

python - 如何从 Python 迭代器提供子进程的标准输入?

php - 将其他对象添加到 JSON 编码数组

python - 将 Python 对象转换为 JSON 输出

python - Django 错误 : Field 'id' expected a number but got '{}'

python - 模型 FlatPage 已经注册