您的位置:首页 > Web前端 > JavaScript

json字符串与json对象的转换方式

2016-09-08 14:26 337 查看
var myObject = eval('(' + myJSONtext + ')');

eval函数是非常快的。然而,它可以编译和执行任何JavaScript程序,所以会有安全问题。使用eval函数表示当源是可信的和有能力的。它是使用JSON解析器更安全。在XMLHttpRequest的网页应用程序中,通信是只允许相同的起源提供页面,因此它是可信的。但它可能不会有能力。如果服务器在JSON编码是不严谨的,或者如果它不严格验证所有的输入,然后它可以提供无效的JSON文本,可以携带危险的脚本。eval函数将执行脚本,释放其恶意。

为了抵御这种,JSON解析器应该使用。JSON解析器将只认JSON文本,拒绝所有的脚本。在浏览器原生JSON提供了支持,JSON解析器比eval快多了。预计本地JSON支持将包括在未来的ECMAScript标准。

var myObject = JSON.parse(myJSONtext, reviver);

JSON stringifier相反的方向去,转换成JSON文本的JavaScript数据结构。JSON不支持循环数据结构,所以要小心不要把周期性结构的JSON stringifier。

var myJSONText = JSON.stringify(myObject, replacer);

jquery字符串解析json对象

var obj = jQuery.parseJSON('{"name":"John"}');

alert( obj.name === "John" );

var obj = $.parseJSON('{"name":"John"}');

alert( obj.name === "John" );
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: