标签:
JSON 即 JavaScriptObject Natation,它是一种轻量级的数据交换格式,非常适合于服务器与 JavaScript 的交互。JSON 也是基于纯文本的数据格式。由于JSON 天生是为 JavaScript 准备的,因此,JSON 的数据格式非常简单,您可以用 JSON 传输一个简单的String,Number,Boolean,也可以传输一个数组,或者一个复杂的 Object 对象。
接下来就从几方面来初步了解一下JSON。
类似 XML
相比 XML 的不同之处
为什么使用 JSON?
对于 AJAX 应用程序来说,JSON比XML 更快更易使用:
使用 JSON
基本了解了JSON,接下来我们就再了解一下JSON是如何表示我们常见的数据类型:
JSON 语法规则
JSON语法是 JavaScript对象表示法语法的子集。
JSON 名称/值对
JSON 数据的书写格式是:名称/值对。名称/值对包括字段名称(在双引号中),后面写一个冒号,然后是值:
"firstName" : "John"这很容易理解,等价于这条JavaScript语句:firstName = "John"
JSON 值
JSON 值可以是:
一个Number 可以根据整型或浮点数表示如下:这与绝大多数编程语言的表示方法一致,例如:12345(整数)和-3.9e10(浮点数)。
用JSON 表示一个简单的 String “ abc ”,其格式为:"abc"。除了字符 ",\,/ 和一些控制符(\b,\f,\n,\r,\t)需要编码外,其他 Unicode字符可以直接输出。
Boolean 类型表示为 true 或 false 。
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:city:Beijing street:Chaoyang Road postcode:100025(整数)
用JSON 表示如下:{"city":"Beijing","street":"Chaoyang Road ","postcode":100025}
其中Value 也可以是另一个 Object 或者数组,因此,复杂的 Object 可以嵌套表示,例如,一个 Person 对象包含 name 和 address对象,可以表示如下:{"name":"Michael","address":
{"city":"Beijing","street":" ChaoyangRoad ","postcode":100025}
}
JavaScript中的 null 被表示为 null,注意,true、false 和 null 都没有双引号,否则将被视为一个 String。
JSON 对象
JSON 对象在花括号中书写:对象可以包含多个名称/值对:{ "firstName":"John" ,"lastName":"Doe" }
这一点也容易理解,与这条JavaScript 语句等价:firstName = "John" lastName = "Doe"
JSON 数组
JSON 数组在方括号中书写:数组可包含多个对象:
{
"employees":
[
{ "firstName":"John" , "lastName":"Doe"},
{ "firstName":"Anna" ,"lastName":"Smith" },
{ "firstName":"Peter" ,"lastName":"Jones" }
]
}
在上面的例子中,对象"employees" 是包含三个对象的数组。每个对象代表一条关于某人(有姓和名)的记录。
需要注意的是:因为 JSON 使用JavaScript语法,所以无需额外的软件就能处理 JavaScript中的 JSON。通过JavaScript,您可以创建一个对象数组,并像这样进行赋值:
var employees = [
{ "firstName":"Bill" ,"lastName":"Gates" },
{ "firstName":"George" ,"lastName":"Bush" },
{ "firstName":"Thomas" , "lastName":"Carter" }
];
可以像这样访问JavaScript 对象数组中的第一项:employees[0].lastName; 返回的内容是:Gates。也可以像这样修改数据:employees[0].lastName = "Jobs";
现在大致了解了JSON的基本语法,接下来的博文会和大家一起学习如何在服务器端生成 JSON格式的数据以便发送到客户端,以及客户端如何使用 JavaScript 处理 JSON 格式的数据。
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:
原文地址:http://blog.csdn.net/sunliduan/article/details/48110989