luokai

首先我们得知道什么是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中的语法错误

分类:

技术点:

相关文章: