1.比较古老的方法:
1
function
strToJson(str){
2 var json = eval( ' ( ' + str + ' ) ' );
3 return json;
4 }
2 var json = eval( ' ( ' + str + ' ) ' );
3 return json;
4 }
2.比较常用的方法:
1
function
strToJson(str){
2 return ( new Function( " return " + str))();
3 }
2 return ( new Function( " return " + str))();
3 }
3.IE67不支持的json对象方法:
1
function
strToJson(str){
2 return JSON.parse(str);
3 }
2 return JSON.parse(str);
3 }
4.jQuery提供的方法:
1
parseJSON:
function
( data ) {
2 if ( typeof data !== " string " || ! data ) {
3 return null ;
4 }
5 data = jQuery.trim( data );
6 if ( / ^[\],:{}\s]*$ / .test(data.replace( / \\(?:["\\\ / bfnrt] | u[ 0 - 9a - fA - F]{ 4 }) / g, "@")
7 .replace( / "[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)? / g, " ] " )
8 .replace( / (?:^|:|,)(?:\s*\[)+ / g, "" )) ) {
9 return window.JSON && window.JSON.parse ?
10 window.JSON.parse( data ) :
11 ( new Function( " return " + data))();
12
13 } else {
14 jQuery.error( " Invalid JSON: " + data );
15 }
16 },
2 if ( typeof data !== " string " || ! data ) {
3 return null ;
4 }
5 data = jQuery.trim( data );
6 if ( / ^[\],:{}\s]*$ / .test(data.replace( / \\(?:["\\\ / bfnrt] | u[ 0 - 9a - fA - F]{ 4 }) / g, "@")
7 .replace( / "[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)? / g, " ] " )
8 .replace( / (?:^|:|,)(?:\s*\[)+ / g, "" )) ) {
9 return window.JSON && window.JSON.parse ?
10 window.JSON.parse( data ) :
11 ( new Function( " return " + data))();
12
13 } else {
14 jQuery.error( " Invalid JSON: " + data );
15 }
16 },