js中字符串数据转为json对象的方法

来源:互联网 发布:js 获取子字符串 编辑:程序博客网 时间:2024/05/18 01:03
将javascript 中字符串数据转换为 json 对象有三种方法:1. eval() 函数2. 使用 new Function() 构造函数3. 使用浏览器内置的JSON.parse 方法(IE Version > IE8(s))下面来说说使用这三种方法的建议:eval() 函数,很强大的函数,会模拟一个js 解析器,能解析任何js 代码,但是执行效率和安全性不是很高好,所能在做demo时候可以使用,但是在做项目是不推荐使用。Function 构造函数方法,这是Jquery 中解析JSON数据的方法,查看他的源代码中即可看到,使用此方法,经人测试,比eval() 快很多倍/***jQuery源码分析,557-580行*creator liangqi*Date 2011-12-3*Email liangqi000#gmail.com */... ...parseJSON: function(data ){if(typeof(data) !== 'string' || !data ){return null;}if(window.JSON && window.JSON.parse){return window.JSON.parse(data);}if ( rvalidchars.test( data.replace( rvalidescape, "@" ).replace( rvalidtokens, "]" ).replace( rvalidbraces, "")) ) {     return (new Function( "return " + data ))();  } jQuery.error( "Invalid JSON: " + data );}三种使用方法:var json = '{"name":"liangqi"; "sex":"boy"}';jsonObj0 = eval('(' + json + ')');jsonObj1 = (new Function('return' + json))();if(window.JSON){jsonObj2 = JSON.parse(json);} else {... ... //针对比支持此方法的调用此处}
0 0
原创粉丝点击