string解析为json的几种方式

1.比较古老的方法:

1 function strToJson(str){
2 var json = eval('(' + str + ')');
3 return json;
4 }

2.比较常用的方法:

1 function strToJson(str){
2 return (new Function("return " + str))();
3 }

3.IE67不支持的json对象方法:

1 function strToJson(str){
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 }

posted @ 2010-11-15 14:39  gsbhz  阅读(167)  评论(0编辑  收藏  举报