首页 > [已解决]python 向 javascript 传 json数据的时候格式不对

[已解决]python 向 javascript 传 json数据的时候格式不对

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 %}

就不会出现转译问题了。


你这样传过来的话前端这边data变量已经是对象了不需要JSON.parse()


解决方法就是楼上,但关键问题是你需要弄清前后端数据传输过程中,JSON是以字符串类型还是以其他类型(object, Array, String, Number...)传输的。

JSON.stringify(): 将value(Object,Array,String,Number...)序列化为JSON字符串
toJSON(): 作为JSON.stringify中第二个参数(函数过滤器)补充
JSON.parse(): 将JSON数据解析为js原生值

详细说明链接或者参考文档

【热门文章】
【热门文章】