2015年5月22日 16:32
JSON 全称为 JavaScript Object Notation(JavaScript对象表示法),它利用与 JavaScript 对象相似的表示方法来表示数据。虽然 JSON 脱胎于 JavaScript,但是 JSON 并不属于 JavaScript 的一部分,很多的语言都可以解析和序列化 JSON。 JSON 语法
JSON 可以表示以下三种类型的值:
简单值 对象 数组
简单值包括字符串、数值、布尔值和 null。但是要注意的是 JSON 不能表示 JavaScript 当中的一种特殊值 undefinde。
对象,与 JavaScript对象相似,表示无序的键值对。键值对中的值可以是简单值,也可以是对象或数组。
数组,与 JavaScript数组相似,表示一组有序的值,数组的值可以是简单值,也可以是对象或数组。 举个例子: {
\"name\": \"acwong\", \"age\": 23, \"address\": {
\"province\": \"GuangDong\", \"city\": \"GuangZhou\" },
\"friends\": [\"bc\", \"cc\", \"dc\"], \"blog\": \"http://www.baidu.com\" }
需要注意的是,也是与 JavaScript对象表示方法的不同之处,JSON 字符串当中对象的属性必须加上双引号。 // 正确示范 {
\"name\": \"acwong\" }
// 错误示范 {
name: \"acwong\" }
// 单引号也是错误的 {
'name': 'acwong' }
JavaScript 与 JSON JSON 对象
在 JSON 诞生之初 JavaScript 处理 JSON 的方式基本就靠 eval() 函数。 eval() 函数可以解析 JSON 然后返回 JavaScript 数组。但是由于 eval() 存在安全的风险,因此在 EMCAScript 5 开始有了一个新的全局对象 JSON对象用来处理 JSON。 序列化 JSON
JavaScript 使用 JSON对象的 stringify() 方法来序列化 JSON。
province:\"GuangDong\city:\"GuangZhou\" }, friends:[\"bc\blog:\"http://www.baidu.com\" }; varjsonText=JSON.stringify(person); console.log(jsonText);