日期:2014-05-16 浏览次数:20352 次
一、json的定义理解
?JSON(JavaScript Object? Notation)一种简单的数据格式,比xml更轻巧。
?JSON它是一种轻量级的数据交换格式,非常适合于服务器与 JavaScript 的交互。
?JSON是JavaScript原生格式,这意味着在JavaScript中处理JSON数据不需要任何特殊的API或工具包。它易于人阅读和编写,同时也易于机器解析和生成。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。
二、JSON的编写规则
?JSON的规则很简单:对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’对”之间使用“,”(逗号)分隔。
?? 规则如下:
?? 1、映射用冒号(“:)表示。名称:值
?? 2、并列的数据之间用逗号(“,”)分隔。名称1:值1,名称2:值2
?? 3、映射的集合(对象)用大括号(“{}”)表示。
????? {
???????? 名称1:值1,
???????? 名称2:值2
????? }
?? 4、并列数据的集合(数组)用方括号(“[]”)表示。
???????? [
?????????? {名称1:值,名称2:值2},
?????????? {名称1:值,名称2:值2}
???????? ]
?? 5、元素值可具有的类型:string, number, object, array, true, false, null
???? 注意:1、JSON 用冒号(而不是等号)来赋值。每一条赋值语句用逗号分开。整????????????????????????? 个对象用大括号封装起来。可用大括号分级嵌套数据。
2、?对象描述中存储的数据可以是字符串,数字或者布尔值。对象描述也可存储函数,那就是对象的方法。
三、JSON主要有两种数据结构
??? 1、由key--value对组成的数据结构。这种数据结构在不同的语言中有不同的实现.
例如:在javascript中是一个对象.而在java中是一种Map结构,c语言中是struct,其它的语言中可能为record、 hash table 等。
??? 2、有序集合、这种数据结构在不同语言中可能有list、vertor、数组和序列等实现。
??? 3、javascript中对这两种方式的语法
?1)用于创建对象的语法
?????????? JSON语法创建对象更像一种Map结构,它是一种由key-value对组成数据结构。
备注:使用JSON语法创建对象时,属性不仅可是普通的字符,而且可以是任何基本数据类型,还可以是函数,数组,甚至是另外一个用JSON语法创建的对象.
比如:
??? Teacher = {
????? ??????? name:”xiaoqian”,
?????? ??????? Student:{
?????????????????????? Name:”kouxiaolin”,
?????????????????????? Sex:”女”
???????? },
?????????????? //使用JSON为teacher对象分配一个方法
??????????????? toString:function(){
??????????????????????? alert(“方法的测试…….”);
?? ???? ??? }
??? }
? 2)用于创建数组的语法
? 用JSON创建数组是分常重要的
注解:
?eval("("+xhr.responseText+")")为什么加括号?
在解析JSON对象的时候,对象返回的是{}处理成语句块,所以采用()把语句块强制处理成JS对象
?
综合案例代码可下载