不建议使用eval()函数,因为eval()接受任意的字符串,并当作JavaScript代码来处理,这个机制已经有安全隐患了
var str=‘{ "name": "John" }‘;
var obj = eval (‘(‘ + str + ‘)‘);
alert(obj.name);
$.parseJSON()和JSON.parse()函数用于将格式完好的JSON字符串转为与之对应的JavaScript对象。所谓"格式完好",就是要求指定的字符串必须符合严格的JSON格式,例如:属性名称必须加双引号、字符串值也必须用双引号。其次,JSON标准不允许字符串中出现"控制字符",正确写法应该是使用两个反斜杠,以免被JS解析器直接转义。
1、JSON字符串转换为JSON对象
var str=‘{ "name": "John" ,"age": "24" }‘;
var obj = $.parseJSON(str);
alert(obj.name); //John
var str = ‘{ "name": "John", "age": "24" }‘;
var obj = JSON.parse(str);
alert(obj.name); //John
2、将JSON对象转换为字符串
var obj={name: "John", age: "24"};
var last=JSON.stringify(obj);
alert(last); //‘{name: "John", age: "24"}‘
var obj={name: "John", age: "24"};
var last=obj.toJSONString();
alert(last); //‘{name: "John", age: "24"}‘
3、解析读取json对象
var str={
"result":{
"age":"33",
"id":"2server",
"name":"mady"
}
};
alert(str.result.age); //33
var result = $.parseJSON( ‘[ 1, true, "CodePlayer" ]‘ );
alert( result[1] ); // CodePlayer
var result = $.parseJSON( "\"专注于编程开发技术分享\"" );
alert(result); //专注于编程开发技术分享