JSON.parse()与eval()

一、前言

   和 XML 一样,JSON 也是基于纯文本的数据格式。由于 JSON 天生是为 JavaScript 准备的,因此,JSON 的数据格式非常简单,您可以用 JSON 传输一个简单的 String,Number,Boolean,也可以传输一个数组,或者一个复杂的 Object 对象。

二、包含json对象的字符串

基本式:var jsonData=‘{"data1":"Hello,","data2":"world!"}‘;

三、json的解析方法

 

(1)使用JSON.parse()

<script>
 var str = ‘{"name":"party","age":"23"}‘;
 var ob=JSON.parse(str);
 alert(ob.name);
 alert(ob.age);

 var str = ‘["name","age"]‘;
 var ob=JSON.parse(str);
 alert(ob[0]);
 alert(ob[1]);
</script>

(2)使用eval()

 var str = ‘{"name":"party","age":"23"}‘;
 var ob=eval("("+str+")");

 alert(ob.name);
 alert(ob.age);

 

注意:JSON.parse()可以解析json格式的数据,并且会对要解析的字符串进行格式检查,如果格式不正确则不进行解析,而eval()可以解析任何字符串,特别是执行第三方的JSON数据(其中可能包含恶意代码),使用eval是很危险的,而且容易发生内存泄露,所以在代码中尽可能使用JSON.parse()方法解析字符串。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。