JSON的全称是”JavaScript Object Notation”,意思是JavaScript对象表示法,它是一种基于文本,独立于语言的轻量级数据交换格式。XML也是一种数据交换格式,为何没 有选择XML呢?由于XML虽然能够做为跨平台的数据交换格式,可是在JS(JavaScript的简写)中处理XML很是不方便,同时XML标记比数据 多,增长了交换产生的流量,而JSON没有附加的任何标记,在JS中可做为对象处理,因此咱们更倾向于选择JSON来交换数据。这篇文章主要从如下几个方 面来讲明JSON。javascript
简单值使用与javascript相同的语法,能够在JSON中表示字符串、数值、布尔值和nullhtml
字符串必须使用双引号表示,不能使用单引号。数值必须以十进制表示,且不能使用NaN和Infinityjava
[注意]JSON不支持javascript中的特殊值undefined数组
//合格的简单值 5 "hello world" true null
//不合格的简单值 +0x1 'hello world' undefined NaN Infinity
对象做为一种复杂数据类型,表示的是一组有序的键值对儿。而每一个键值对儿中的值能够是简单值,也能够是复杂数据类型的值(其中关键字是字符串,而值能够是字符串,数值,true,false,null,对象或数组)函数
与javascript的对象字面量相比,JSON有三个不一样的地方this
一、JSON没有变量的概念spa
二、JSON中,对象的键名必须放在双引号里面.net
三、由于JSON不是javascript语句,因此没有末尾的分号code
[注意]同一个对象中不该该出现两个同名属性htm
//合格的对象 { "name":"huochai", "age":29, "school":{ "name":"diankeyuan", "location":"beijing" } }
//不合格的对象 { name: "张三", 'age': 32 }//属性名必须使用双引号 {};//不须要末尾的分号 { "birthday": new Date('Fri, 26 Aug 2011 07:13:10 GMT'), "getName": function() { return this.name; } } // 不能使用函数和日期对象
数组也是一种复杂数据类型,表示一组有序的值的列表,能够经过数值索引来访问其中的值。数组的值也能够是任意类型——简单值、对象或数组
JSON数组也没有变量和分号,把数组和对象结合起来,能够构成更复杂的数据集合
[注意]数组或对象最后一个成员的后面,不能加逗号
[
{
key1:value1,
key2:value2
},
{
key3:value3,
key4:value4
}
]
https://www.cnblogs.com/passer00/p/6088925.html