JSON

来源:互联网 发布:淘宝运营工资高吗 编辑:程序博客网 时间:2024/06/03 21:43

1.JSON是一种数据格式,不是一种编程语言,虽然具有相同的语法形式,但是JSON并不从属于JS。而且并不只有JS才使用JSON,毕竟JSON是一种数据格式。很多编程语言都有针对JSON的解析器和序列化器。

2. JSON的数据形式

    *最简单的JSON数据形式就是简单值。注意:JSON字符串必须使用双引号,如果使用单引号会导致语法错误。

//JSON简单值    10    "hello"    true    null

   *对象。与JS对象字面量相比,JSON有两点不同之处,1.没有声明变量,JSON中没有变量的概念。2.没有末尾的分号,因为它不是JS语句所以不需要分号。注意:JSON中对象的属性名也要加双引号。

//JS对象字面量表示var box = {name : 'Lee', age : 100};alert(box.name);//JSON对象表示,属性名也要使用双引号{"name" : "Lee","age" : 100}//JSON可以在对象中嵌入对象,该例子中虽然有两个name属性,但是它们分属不同的对象,所以没有问题。但是同一个对象不能有//重名的属性{"name" : "Lee","age" : 100"school":{"name":"xiwanxiaoxue""adds":"zancun"}}

    *数组

//普通数组var box = [100, 'Lee', true];//JSON数组[100, "Lee", true]/** *PS:JSON说白了就是一个字符串,所以任何表示,都应该加上双引号表示字符串 *PS:JSON对象和数组比普通对象和数组,少了分号,少了变量赋值,而且本身应该是字符串表示 *JSON数组也没有变量和分号,把数组和对象结合起来,就可以构成更加复杂的数据结构 *///最常用的JSON结构。数组中包含对象,每个对象都有几个属性,属性的值还可以是数组。总之它们结合使用可以创造出各种各样的数据结构。[{"title" : "a","num" : 1},{"title" : "b","num" : 1},{"title" : "c","num" : 1}]

3. 解析与序列化

     JSON之所有流行,就是因为它可以把JSON数据结构解析为有用的JS对象。从而可以方便的去获取数据。

    1.JSON对象

    JSON对象有两个方法:stringify()  parse()

    这两个方法分别用于将JS对象序列化为JSON字符串和把JSON字符串解析为JS值。

                  //一个JS对象字面量   var test = {   name :"张三",   age : 19,   adds : "火星"      };   //转换为JSON格式   var jsonText = JSON.stringify(test);   alert(jsonText);//弹出::{"name":"张三","age":19,"adds":"火星"}   //将jsonText转换为对象   var testCopy = JSON.parse(jsonText);   alert(testCopy.name);//弹出:张三  // 注意:虽然testCopy和test有者相同的属性,但是它们是相互独立的,没有任何的关系。



原创粉丝点击