JSON 字符串中的中括号和大括号区别详解

时间:2022-01-31 09:08:04

json 变量有两种可能, 可能是一个对象, (类似 类的实例), 也可能是一个数组!!

主要是要 从 ""语义" 上来分析, 到底该用 大括号还是用中括号: 如果从语义上来说, 你是要描述的一个 对象, (里面是这个对象的 属性/ 函数!!) 那么用大括号, 表示对象; 如果你要描述的东西 是多个并列的 值, 那么用 数组 用中括号的 方式!!!

大括号{} 表示对像, 用 点号 来引用 对象的 属性/或函数 (函数后面要加小括号)... 中括号[] 表示数组, 用['下标']的方式来引用. 即使是混合式的数据结构, 也是同样的道理.

json的数据, 都是用 双引号, 不管是key, 还是 value, 都要用 双引号 表示....

如:var kzwr= {"url":"www.kzwr.com","name":"酷站网软"};

上面声明了一个名为“kzwr”的对象,属性名和值用(冒号)隔开,多个属性或函数用,(逗号)隔开,因为是对象的属性,

所以访问时,应该用.(点)来层层访问:kzwr.url、kzwr.name,当然我们也可以用数组的方式来访问,如:kzwr["url"]、kzwr["name"],结果是一样的。

该写法,在JSON数据结构中经常用,除此之外,我们平时写函数组的时候,也经常用到,如:

var kzwr= {
Name = function(){
return "kzwr";
},

     Age = function(){
return "28";
}
}

调用方式差不多,因为是函数组,所以要加上(),如:alert( LangShen.Name() );

二、[ ]中括号,表示一个数组,也可以理解为一个数组对象。

如:var kzwr= [ "Name","www.kzwr.com","AGE","22" ];

很明显,每个值或函数,都是独立的,多个值之间只用,(逗号)隔开,因为是数组对象,所以它等于:

var kzwr= Array( "Name","www.kzwr.com","AGE","22" );

访问时,也是和数组一样,alert( kzwr[0] );

三、{ } 和[ ] 一起使用,我们前面说到,{ } 是一个对象,[ ] 是一个数组,我们可以组成一个对象数组,如:

var kzwr= { "Name":"www.kzwr.com",
"MyWife":[ "LuLu","22" ],
"MySon":[{"Name":"Son1"},{"Name":"Son2"},{"Name":"Son3"}]
}

从上面的结构来看,是一个对象里面的第一项是个属性,第二项是一个数组,第三个是包含有多个对象的数组。调用起来,也是一层一层访问,对象的属性用.(点)叠加,数组用 [下标] 来访问。

如:alert( kzwr.MySon[1].Name ) ;