jquery处理后台返回来的JSON,JSON中属性为JSON,或者数组的处理

百度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。


所以你要根据属性值的类型来区分对待

你可能感兴趣的:(jquery,json)