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

时间:2014-07-16 02:26:58

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

我最近从python版本2.7将django服务器转换为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?")

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

有关。

1 个答案:

答案 0 :(得分:1)

我希望会发生回溯,而不仅仅是"最后一行永远不会执行",但除此之外......

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