JavaScript-如何将包含转义字符的Json数据转化为JavaScript对象
- 通过Newtonsoft.JsonConvert.SerializeObject,将C#对象转化为Json数据: {"name":"'"abcn123r"}
- 通过Dojo.fromJson('{"name":"'"abcn123r"}')得到Javascript对象,然后抛异常:“未结束的字符串常量”。
- 问题:当Json数据中包含转义字符时,如何实现顺利转换呢?
非常感谢各位大侠!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
如果原生JS支持那么优先使用JSON.parse方法将字符串转为JS对象。
Newtonsoft.JsonConvert.SerializeObject本身就能处理这些字符的,至于dojo没用过,不清楚。
直接用eval();
var obj = eval(jsonStr);
上边的不行就用下边的。
var obj = eval("("+jsonStr+")");
在Firefox,chrome,opera,safari,ie9,ie8等高级浏览器可以用JSON对象的parse()方法。JSON.parse(string)将字符串转为JSON格式;
ie8(兼容模式),ie7和ie6没有JSON对象,不过http://www.json.org/提供了一个json.js,这样ie8(兼容模式),ie7和ie6就可以支持JSON对象以及其stringify()和parse()方法;可以在https://github.com/douglascrockford/JSON-js上获取到这个js,一般现在用json2.js。
ie8(兼容模式),ie7和ie6也可以使用eval()将字符串转为JSON对象,var obj= eval("("+str+")") 。
把后台传回的数据当成text接收,然后 直接var obj = eval("("+jsonStr+")");