如何摆脱 Python json.dumps 中的“quot”
Posted
技术标签:
【中文标题】如何摆脱 Python json.dumps 中的“quot”【英文标题】:How to get rid of 'quot' in Python json.dumps 【发布时间】:2013-12-22 05:04:19 【问题描述】:在 Django 中,我有一个请求 JSON 提要并将响应与模板一起呈现的视图。我需要将 JSON 对象转换为 javascript JSON 对象。我已设法在模板中控制台记录 JSON 对象,但格式有问题。
这是我所期望的:
"lat": 58.548703, "referenceTime": "2013-12-05T07:00:00Z", "lon": 16.155116...
这就是我得到的:
"lat": 58.548703, "referenceTime": "2013-12-05T07:00:00Z", "lon": 16.155116...
这是我的看法:
def myView(request):
request = Request('http://somedomain/somefeed.json')
response = urlopen(request)
data = json.load(response)
return render_to_response('myTemplate.html', 'myJson': json.dumps(data))
在我的模板中:
console.log('myJson');
【问题讨论】:
所以也许你应该显示模板? 另外,你为什么要费心从 JSON 反序列化,只是为了立即再次序列化它?有什么意义? 使用myJson|safe
@DanielRoseman 我从模板中添加了 sn-p。
【参考方案1】:
正如 Armance 在 cmets 中所说,您需要在模板中将变量标记为安全,这样它就不会被转义:
myJson|safe
【讨论】:
完美!这解决了问题。为了将来参考,这是我在我的 Javscript 中必须做的:console.log(JSON.parse(' myJson | safe '));
是的,因为“安全”模板过滤器用于渲染 django 模板中的 html 标签
在我的情况下,我不需要在交付到前端后对其进行解析。 Javascript 将其识别为一个对象。以上是关于如何摆脱 Python json.dumps 中的“quot”的主要内容,如果未能解决你的问题,请参考以下文章
python中的json.dump()和json.dumps()有啥区别?
[转]python json.dumps 中的ensure_ascii 参数引起的中文编码
python json.dumps 中的ensure_ascii 参数引起的中文编码问题