JSON对象解析及如何转义Unicode字符
我对JavaScript还比较陌生,所以可能表达得不太准确。我正在尝试解析一个从数据库读取的JSON对象。我通过Django的Python脚本把一个变量发送到HTML页面,这个变量的样子是这样的:
{
"data":{
"nodes":[
{
"id":"n0",
"label":"Redditor(user_name='awesomeasianguy')"
},
...
]
}
}
目前,返回的内容看起来是这样的:
"{u'data': {u'nodes': [{u'id': u'n0', u'label': u"Redditor(user_name='awesomeasianguy')"}, ...
我尝试用一个类似于replaceAll
的语句去掉像u'这样的字符,代码如下。不过,这个方法并不是那么简单,感觉应该有更好的办法来处理这些字符。
var networ_json = JSON.parse("{{ networ_json }}".replace(/u'/g, '"').replace(/'/g, '"').replace(/u"/g, '"').replace(/"/g, '"'));
如果有人能提供我没有使用过的方法,或者推荐一些工具来解决这个问题,我会非常感激。
1 个回答
1
使用模板过滤器 "|safe" 可以禁用转义,也就是说,它可以让你直接显示一些内容,而不需要把特殊字符变成普通字符。比如说,如果你有一些HTML代码,使用这个过滤器后,它就会被当作代码来处理,而不是被转义成普通文本。
var networ_json = JSON.parse("{{ networ_json|safe }}";
你可以在这里了解更多信息:https://docs.djangoproject.com/en/dev/ref/templates/builtins/#safe