首页 > 编程 > JavaScript > 正文

关于JSON.parse(),JSON.stringify(),jQuery.parseJSON()的用法

2019-11-20 09:34:55
字体:
来源:转载
供稿:网友

1. JSON.parse(jsonString): 在一个字符串中解析出JSON对象

var str = '[{"href":"baidu.com","text":"test","orgId":123,"dataType":"curry","activeClass":"haha"}]';  JSON.parse(str); 

结果:

2. JSON.stringify(obj) : 将一个JSON对象转换成字符串

var obj = [{"href":"baidu.com","text":"test","orgId":123,"dataType":"curry","activeClass":"haha"}];  JSON.stringify(obj); 

结果:

"[{"href":"baidu.com","text":"test","orgId":123,"dataType":"curry","activeClass":"haha"}]" 

3. jQuery.parseJSON(jsonString) : 将格式完好的JSON字符串转为与之对应的JavaScript对象

var str = '[{"href":"baidu.com","text":"test","orgId":123,"dataType":"curry","activeClass":"haha"}]';  jQuery.parseJSON(str); 

结果:

4.JSON.parse()和jQuery.parseJSON()的区别:

有的浏览器不支持JSON.parse()方法,使用jQuery.parseJSON()方法时,在浏览器支持时会返回执行JSON.parse()方法的结果,否则会返回类似执行eval()方法的结果,以上结论参考jquery 1.9.1 得出:

parseJSON: function( data ) {   // Attempt to parse using the native JSON parser first   if ( window.JSON && window.JSON.parse ) {     return window.JSON.parse( data );   }     if ( data === null ) {     return data;   }     if ( typeof data === "string" ) {       // Make sure leading/trailing whitespace is removed (IE can't handle it)     data = jQuery.trim( data );       if ( data ) {       // Make sure the incoming data is actual JSON       // Logic borrowed from http://json.org/json2.js       if ( rvalidchars.test( data.replace( rvalidescape, "@" )         .replace( rvalidtokens, "]" )         .replace( rvalidbraces, "")) ) {           return ( new Function( "return " + data ) )();       }     }   }     jQuery.error( "Invalid JSON: " + data ); },

以上这篇关于JSON.parse(),JSON.stringify(),jQuery.parseJSON()的用法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表