JSON基础

JSON(JavaScript Object Notation(记号、标记))是一种轻量级的数据交换格式。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。JSON易于人阅读和编写,同时也易于机器解析和生成的。

一、JSON和XML的比较

1、可读性

JSON和XML的可读性可谓不相上下,一边是简易的语法,一边是规范的标签形式,很难分出胜负。

2、可扩展性

XML天生有很好的扩展性,JSON当然也有,不过JSON在Javascript主场作战,可以存储Javascript复合对象,有着xml不可比拟的优势。

3、编码难度

XML有丰富的编码工具,比如Dom4j、JDom等,JSON也有提供的工具。无工具的情况下,相信熟练的开发人员一样能很快的写出想要的xml文档和JSON字符串,不过,xml文档要多很多结构上的字符。

4、解码难度


json简单说就是javascript中的对象和数组,所以这两种结构就是对象和数组两种结构,通过这两种结构可以表示各种复杂的结构。

          1、对象:对象在js中表示为“{}”括起来的内容,数据结构为{key:value,key:value,...}的键值对的结构,在面向对象的语言中,key为对象的属性,value为对应的属性值,所以很容易理解,取值方法为对象.key获取属性值,这个属性值的类型可以是数字、字符串、数组、对象几种。对象是一个无序的“‘名称/值’对”集合。

(1)一个对象以“{”(左括号)开始,“}”(右括号)结束。

(2)每个“名称”后跟一个“:”(冒号);

(3)“‘名称/值’对”之间使用“,”(逗号)分隔。

举例1:

{"firstName":"Brett","lastName":"McLaughlin","email":"aaaa"}


           2、数组:数组在js中是中括号“[]”括起来的内容,数据结构为["java","javascript","vb",...],取值方式和所有语言中一样,使用索引获取,字段值的类型可以是 数字、字符串、数组、对象几种。数组是值(value)的有序集合。

(1)一个数组以“[”(左中括号)开始,“]”(右中括号)结束。

(2)值之间使用“,”(逗号)分隔。

经过对象、数组2种结构就可以组合成复杂的数据结构了。

举例2:

      包含三个People对象,这三个对象放在一个数组中。

{

        "people":[

                       {"firstName":"Brett","lastName":"McLaughlin","email":"aaaa"},

                         {"firstName":"Jason","lastName":"Hunter","email":"bbbb"},

                         {"firstName":"Elliotte","lastName":"Harold","email":"cccc"}

]

}


�l���S�

你可能感兴趣的:(JSON基础)