读json变成django错误

时间:2018-05-01 08:46:03

标签: json ajax django

我将一个上下文变量x从Djano视图传递到模板中。这是一个字符串列表

x = ['Braselton', 'Buford']

然后我使用ajax函数将该变量传递回django视图。问题是当我使用以下代码在python视图中检索该变量时:

new_x = request.GET['x']
print(new_x)

我看到以下内容:

['Braselton', 'Buford']

我试过json.loads(request.GET ['x'])并且我一直收到以下错误

json.decoder.JSONDecodeError: Expecting value: line 1 column 2 (char 1)

非常感谢任何帮助

3 个答案:

答案 0 :(得分:0)

你需要消除那些角色,有很多方法可以做到这一点 Python Documentation了解更多信息

import html.parser
import json

variable = "['Braselton', 'Buford']"
parser = html.parser.HTMLParser()
new_variable = parser.unescape(variable)
new_variable = json.loads(parser.unescape(new_variable).replace("'",'"')) # replace single quote
>>> ['Braselton', 'Buford'] # Type List

答案 1 :(得分:0)

问题是python转义HTML元素。请注意,它不是JSON。

到unescape你必须使用HTML模块。

import html
y = html.unenscape(new_x)
print(y) # output is ['Braselton', 'Buford']

答案 2 :(得分:0)

将变量标记为安全。

'{{ x | safe }}'