JSON(JavaScript Object Notation JavaScript对象表示法)
JSON是JavaScript的一个严格的子集,利用JavaScript中的一些模式来表示结构化数据。 JSON是在JavaScript中读写结构化数据的更好方式。因为可以JSON直接传给 elval( ),而不必创建DOM对象。
关于JSON,最重要的是要理解它是一种数据格式,不是编程语言。虽然具有相同的语法形式,但JSON并不从属于JavaScript。 并不是只有JavaScript 才使用JSON,毕竟JSON只是一种数据格式。很多编程语言都有针对JSON的解析器和序列化。
JSON 的语可以表示以下三种类型的值。
简单值:使用与JavaScript相同的语法,可以在JSON中表示字符串,数值,布尔值,null。 但是JSON不支持JavaScript中的特殊值undefined 。
最简单的JSON数据形式就是简单值。 5 JSON表示字符串“hello world”
JavaScript字符串与JSON字符串的最大区别在于,JOSN字符串必须使用双引号(单引号会导致语法错误)。
对象: 对象作为一种复杂数据类型,表示的是一组无序的键值对。而每个键值对中的值可以是简单值,也可以是复杂数据类型的值。
在实际应用中,JSON更多的是用来表示更复杂的数据结构,而简单值只是整个数据结构的一部分。
JavaScript的对象字面量:
var object = {
"name":"NINI",
"age":"29"
}
JOSN表示上述对象:
{
"name":"NINI",
"age":"29"
}
//与JavaScript的对象字面量相比 JSON对象有两个地方不同。首先没有声明变量(JSON中没有变量的感念)。其次 没有末尾的分号。
因为是复杂类型值。可以对象中嵌入对象
{
"name":"NINI",
"age":"29"
"school":{
"name":"school1",
"localtion":"localtion"
}
} //在这个列子中在顶级的对象中嵌入“school”信息,虽然有两个"name"属性,但是它们分别属于不同的对象,因此没有问题。
同一个对象中不能出现两个同名属性。
数组 : 数组也是一种复杂数据类型。表示一组有序的值的列表,可以通过数值索引来访问其中的值。数组的值也可以是任意数据类型--简单值,对象或数组。
var values = ["23","hi","true"]; // javascript中的数组字面量
["23","hi","true"] // json中可以采用同样的语法表示同一个数组。
JOSN 不支持变量 函数 或对象实例,他就是一种表示结构化数据的格式,虽然与JavaScript中表示数据的某些语法相同,但他并不局限于JavaScript的范畴。