百度JSON对象var json1={ "people": [ { "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" } ] }还有一种就是不带中括号的。 在jquery支持的ajax里处理json对象时发现带了“["的json1.people.firstName就会undefined。而如果是不带"["或者带上"["比如我写的json1人为的去掉中括号又可以了。 略为蛋疼。
本人发帖都是些细节问题!这个问题我试了下自己解决对于我写的json1。其实应该用json1.people[0].firsrtName。我又点不明白去了中括号后json1.people.firstName也可以。 前面可以是因为json1.people后其实类似数组[ { "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" } ]元素为几个json,而后面可以大概是J(J)这么个形似就是(用我的话)JSON套JSON(这个大概是)供参考理解
带中括号表示属性 people 的值为一个数组,数组的第一个元素为一个对象
1 2 3 4 5 6 7 8 9 10 11 | var json1
= { "people" :
[ { "firstName" : "Brett" , "lastName" : "McLaughlin" , "email" : "aaaa" } ] }; //
Brett alert(json1.people[0].firstName); |
不带中括号表示属性 people 的值直接为一个对象
1 2 3 4 5 6 7 8 9 | var json1
= { "people" :
{ "firstName" : "Brett" , "lastName" : "McLaughlin" , "email" : "aaaa" } }; //
Brett alert(json1.people.firstName); |
注意上面两次 alert,一个是 people[0],另一个是 people。
所以你要根据属性值的类型来区分对待
不带中括号表示属性 people 的值直接为一个对象
1
2
3
4
5
6
7
8
9
|
var json1
= { "people" :
{ "firstName" : "Brett" , "lastName" : "McLaughlin" , "email" : "aaaa" } }; //
Brett alert(json1.people.firstName); |
注意上面两次 alert,一个是 people[0],另一个是 people。
所以你要根据属性值的类型来区分对待