(优发娱乐wwwyoufa8) [已解决]python 向 javascript 传 json数据的时候格式不对

python端

import json
data = {"foo": 1, "bar": 2}
jsondata = json.dumpsdata 

前端

var data = {{ jsondata }}
var obj = JSON.parsedata
alertobj

错误是

SyntaxError: invalid property id document.writedata

结果是

{"foo": 1, "bar": 2}

我知道是什么原因了,从web传过来的时候会变成

{"foo":1, "bar":2}

即把双引号转成了”,导致json格式错误。请问有什么方法改吗?
我是新手,还望各位不吝赐教

解决方法:
文档没认真看
用的tornado
传值的时候用

{% raw jsondata %}

就不会出现转译问题了。

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

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

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

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

发表评论

电子邮件地址不会被公开。 必填项已用*标注