JSON 格式详解
还不了解
JSON 是什么?看了下面这篇文章,您对 JSON 是什么应该能够有了一个比
较清晰的概念。
JSON
即
JavaScript. Object Natation,它是一种轻量级的数据交换格式,非常适合于服
务器与
JavaScript.
的交互。本文将快速讲解
JSON 格式,并通过代码示例演示如何分别在客
户端和服务器端进行
JSON 格式数据的处理。
尽管有许多宣传关于
XML
如何拥有跨平台,跨语言的优势,然而,除非应用于
Web
Services
,否则,在普通的
Web
应用中,开发者经常为
XML 的解析伤透了脑筋,无论是
服务器端生成或处理
XML
,还是客户端用
JavaScript.
解析
XML,都常常导致复杂的代码,
极低的开发效率。实际上,对于大多数
Web
应用来说,他们根本不需要复杂的
XML 来传
输数据,
XML
的扩展性很少具有优势,许多
AJAX
应用甚至直接返回
HTML 片段来构建
动态
Web
页面。和返回
XML
并解析它相比,返回
HTML 片段大大降低了系统的复杂性,
但同时缺少了一定的灵活性。
现在,
JSON
为
Web
应用开发者提供了另一种数据交换格式。让我们来看看
JSON 到
底是什么,同
XML
或
HTML 片段相比,JSON 提供了更好的简单性和灵活性。
JSON 数据格式解析
和
XML 一样,JSON
也是基于纯文本的数据格式。由于
JSON
天生是为
JavaScript. 准
备 的 , 因 此 ,
JSON
的 数 据 格 式 非 常 简 单 , 您 可 以 用
JSON 传 输 一 个 简 单 的
String,Number,Boolean
,也可以传输一个数组,或者一个复杂的
Object 对象。
String,Number
和
Boolean
用
JSON
表示非常简单。例如,用
JSON 表示一个简单的
String “ abc ”,其格式为:
"abc"
除了字符
",\,/ 和一些控制符(\b,\f,\n,\r,\t
)需要编码外,其他
Unicode 字符
可以直接输出。
这与绝大多数编程语言的表示方法一致,例如:
12345
(整数)
-3.9e10
(浮点数)
Boolean
类型表示为
true
或
false 。此外,JavaScript.
中的
null
被表示为
null,注意,
true、false
和
null
都没有双引号,否则将被视为一个
String 。
JSON
还可以表示一个数组对象,使用
[] 包含所有元素,每个元素用逗号分隔,元素
可以是任意的
Value
,例如,以下数组包含了一个
String,Number,Boolean
和一个
null:
["abc",12345,false,null]
Object
对象在
JSON
中是用
{}
包含一系列无序的
Key-Value 键值对表示的,实际上此
处的
Object
相当于
Java
中的
Map<String, Object>
,而不是
Java
的
Class
。注意
Key 只能用
String 表示。
例如,一个
Address
对象包含如下
Key-Value: