安全地传递JSON从Django到Javascript添加'不能被JSON解析的字符.解析方法
Passing JSON "safely" from Django to Javascript adds ' characters that can't be parse by the JSON.parse method
我正在使用Django框架,我尝试将JSON列表传递给我的javascript。
我是这样做的:
在服务器端(Python/Django):
context['my_json_list'] = [{'aaa': 'rst', 'bbb': 'uvw'}, {'ccc': 'xyz'}]
return context
客户端:
在HTML中:
<script type="text/javascript">
app.init("{{my_json_list|safe}}");
在JS中:
var app = (function ($) {
return {
init: function (my_json_list) {
console.log(my_json_list);
my_json_list = JSON.parse(my_json_list);
}
}
}
console.log()
打印出:
[{'aaa': 'rst', 'bbb': etc...
似乎不能被JSON"解析"。解析得到以下错误:
angular.js:11413 SyntaxError: Unexpected token & in JSON at position 2
这是做我想要什么正确的方式,如果是如何解决解析部分在js端?如果没有,我想要达到的目标的正确方法是什么?
JSON.parse(my_json_list);
JSON.parse()方法解析JSON字符串,构造字符串描述的JavaScript值或对象。
你没有传递一个字符串或有效的Json,所以方法失败。
这是无效的json。你应该检查jsonlint.com以确保你传递的json是有效的。这里的问题是它读取单引号'
是'的代码。你应该在json中使用双引号。
示例有效Json
{
"my_list": [{
"aaa": "rst",
"bbb": "uvw"
}, {
"ccc": "xyz"
}]
}
JSON 属性名必须是双引号字符串;后面的逗号是禁止的。
相关文章:
- JSON.parse没有'不能使用Javascript
- 为什么我不能使用jQuery.parseJSON(json)解析json字符串
- Json到CSV下载,可以在chrome中工作,但不能在IE浏览器中工作
- 为什么我的JavaScript / JSON脚本不能在Internet Explorer中工作
- .NET服务中的JSON反序列化-can'不能解决这个问题
- 谷歌散点图-{role:'style'}{role:#39;工具提示'}不能以JSON形式工作
- 不能在 aaData 中使用 JSON.stringify for Jquery DataTables
- 为什么 $.getJson 不能与 json 或 jsonp 一起使用
- 不能在“var temp = {'1':..} 上使用 JSON.parse".
- PHP JSON 不能回显值,总是返回一个数组
- json不能't使用标签更改数据
- 有效的JSON不能与jQuery.parseJSON()一起工作
- Fullcalendar (jQuery日历)和JSON不能工作
- JSON不能在mockjax中工作
- JSON不能读取属性'查看器'的定义
- JSON不能使用Panini加载
- PHP + JSON不能正常工作
- 为什么这个JSON不能在IE中工作
- Json不能在瓶子框架的javascript中工作
- JSON不能正确解码