background image

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: