首先我们得知道什么是json
1、JSON:javaScript对象表示法(javaScript Object Notation)。
2、JSON是储存和交换文本信息的语法,类似xml它采用键值对的方式来组织,易于人们阅读和编写,同时也易于机器解析和生成。
3、JSON是独立于语言的,也就是说不管什么语言,都可以解析JSON,只需要按照json的规则来就行。
JSON与XML的比较
json的长度和xml格式比起来比较短小
json的读写的速度更快
json可以使用javascript内建的方法直接进行解析,然后转换成javascript对象,非常方便。
一般在js当中解析json数据有两种方法
eval()和JSON.parse()
eval()方法的使用
<script>
var jsondata = \'{"name" : "罗凯","age":17}\'; //json数据格式
var jsonobj = eval(\'(\'+jsondata+\')\'); //方法的使用
alert(jsonobj.name);
</script>
eval() 方法 不光解析了json字符串,而且还执行了json字符串中的一些方法
如果用eval执行 他不会看你的字符串是否合法而且json字符串中的一些js方法会直接执行,这是非常的危险
作为一个js程序员,我们应当牢记无论何时使用eval方法都是非常危险的,除非你能确定json中的参数是被控制的是安全的
如果你eval执行第三方json数据时,有可能会包含恶意代码
JSON.parse()方法的使用
<script>
var jsondata = \'{"name" : "罗凯","age" : 17 , "sex" : "男"}\';
var jsonobj = JSON.parse(jsondata);
alert(jsonobj.name);
</script>
在代码中使用eval是很危险的!特别是用它执行第三方的json数据(其中可能包含恶意代码)时,尽可能使用JSON.parse()方法解析字符串本身,该方法还可以捕捉JSON中的语法错误