python端
import json
data = {"foo": 1, "bar": 2}
jsondata = json.dumps(data)
前端
var data = {{ jsondata }}
var obj = JSON.parse(data)
alert(obj)
错误是
SyntaxError: invalid property id
document.write(data)
结果是
{"foo": 1, "bar": 2}
我知道是什么原因了,从web传过来的时候会变成
{"foo":1, "bar":2}
即把双引号转成了",导致json格式错误。请问有什么方法改吗?
我是新手,还望各位不吝赐教
解决方法:
文档没认真看
用的tornado
传值的时候用
{% raw jsondata %}
就不会出现转译问题了。
解决方法就是楼上,但关键问题是你需要弄清前后端数据传输过程中,JSON是以字符串类型还是以其他类型(object, Array, String, Number...)传输的。
JSON.stringify()
: 将value(Object,Array,String,Number...)序列化为JSON字符串toJSON()
: 作为JSON.stringify中第二个参数(函数过滤器)补充JSON.parse()
: 将JSON数据解析为js原生值详细说明链接或者参考文档