[已解决]python 向 javascript 传 json数据的时候格式不对
ringa_lee
ringa_lee 2017-04-10 14:41:23
[JavaScript讨论组]

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

就不会出现转译问题了。

ringa_lee
ringa_lee

ringa_lee

全部回复(2)
巴扎黑

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

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

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

伊谢尔伦

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号