Ajax编程技术第十一章 JSON 11.1 概述 向服务器发出Ajax请求时,可以以两种不同的方式从服务器响应中检索数据,一种是responseXML,一种是responseText。前者以XML格式检索数据,解析数据比较困难,后者以纯文本格式解析数据。 Douglas Crockford创建了另一种数据传输格式,我们称之为JavaScript对象表示法 JavaScript Object Notation 。它是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯。这些特性使JSON成为理想的数据交换语言。 11.2 JSON语法 JSON构建的结构 “名称/值”对的集合:A collection of name/value pairs,不同的语言中,它被理解为对象 object ,纪录 record ,结构 struct ,字典 dictionary ,哈希表 hash table ,有键列表 keyed list ,或者关联数组 associative array 。 值的有序列表:An ordered list of values,在大部分语言中,它被理解为数组 array 。 这些都是常见的数据结构。事实上大部分现代计算机语言都以某种形式支持它们。这使得一种数据格式在同样基于这些结构的编程语言之间交换成为可能。
11.2 JSON语法 JSON的具体形式 对象:一个无序的“‘名称/值’对”集合。对象以“ ”开始,以“ ”结束。每个“名称”后跟一个“:”,“‘名称/值’对”之间使用“,”分隔。 数组:是值(value)的有序集合。数组以“[”开始,“]”结束。值之间使用“,”分隔。 值:value,可以是双引号括起来的字符串(String)、数值 number 、true、false、null、对象 object 或者数组 array 。这些结构可以嵌套。 字符串:string,由双引号包围的任意数量Unicode字符的集合,使用反斜体转义。一个字符 c