2011-12-23 27 views
4

我的JSON数据是这样的:

{ 
    "guide":0, 
    "reunits":[ 
     { 
     "residence":[ 
      { 
       "name_re":"THE PORT", 
       "id":"88aa355ca54853640929c25c33613528" 
      } 
     ] 
     }, 
     { 
     "residence":[ 
      { 
       "name_re":"KECIK", 
       "id":"2843543fa45857d92df3de222938e84a" 
      } 
     ] 
     }, 
     { 
     "residence":[ 
      { 
       "name_re":"GREEN ANKA", 
       "id":"fe585cc4b4dfff1325373728929e8af9" 
      } 
     ] 
     } 
    ] 
} 

怎样才能做到警报,价值name_re或JSON数据id以上通过each jQuery的?

我尝试:

$.each(data.reunits, function (index, value) { 
    alert(value.residence.name_re); // this don't output. 
}) 
+1

尝试'警报(value.residence [0] .name_re);'看起来像阵列 – 2011-12-23 20:29:32

+0

我试过,但我只有一个数据('THE PORT')没有三个。 – 2011-12-23 20:31:24

+0

@KateWintz使用'for ... in'循环 – 2011-12-23 20:32:46

回答

3

residence是一个数组([]),其仅具有一个元素,具有name_re属性的对象。

alert(value.residence[0].name_re); 

jsFiddle Demo

+0

我试过了,但我只有一个数据(港)没有三个。 – 2011-12-23 20:32:32

+0

适合我。看到j​​sFiddle(编辑它到我的答案)。请检查它与您的代码/ JSON之间的差异。 – kapa 2011-12-23 20:35:04

2

这是因为他们阵中。您需要访问索引0为他们每个人:

$.each(data.reunits, function(index, value) { 
    alert(value.residence[0].name_re); 
});
+0

我试了一下,但我只得到一个数据(港)没有三个。 – 2011-12-23 20:32:40

+0

@KateWintz:这很奇怪。你可以做一个[jsFiddle](http://jsfiddle.net)并发布它? – Ryan 2011-12-23 20:34:39

+0

Downvote ...理由? – Ryan 2011-12-23 20:46:30

0
 
var data = JSON; 
var reunits = data.reunits; 
for (var i = 0, len = reunits.length; i < len; i++) { 
    alert(reunits[i].residence[0].name_re); 
} 
+2

这并没有解决问题... – Ryan 2011-12-23 20:32:42

+0

嗯好抓,修复了这个问题。 – Fatih 2011-12-23 20:39:28

0

value.residence是一个数组。它应该是value.residence[0].name_re

$.each(data.reunits, function (index, value) { 
    alert(value.residence[0].name_re); 
}) 
+0

我试过了,但我只有一个数据(港口)没有三个。 – 2011-12-23 20:32:55

+0

@KateWintz:那么其他的东西是错的,因为它对我有用。 http://jsfiddle.net/dNBVb/ – 2011-12-23 20:45:48

1

住所是一个数组,所以你必须做到以下几点js fiddle

$(document).ready(function() { 
     var data = { 
      "guide": 0, 
      "reunits": [ 
       { 
       "residence": [ 
        { 
        "name_re": "THE PORT", 
        "id": "88aa355ca54853640929c25c33613528"} 
       ]}, 
      { 
       "residence": [ 
        { 
        "name_re": "KECIK", 
        "id": "2843543fa45857d92df3de222938e84a"} 
       ]}, 
      { 
       "residence": [ 
        { 
        "name_re": "GREEN ANKA", 
        "id": "fe585cc4b4dfff1325373728929e8af9"} 
       ]} 
      ] 
     }; 
     $.each(data.reunits, function() { 
      $.each(this.residence, function() { 
       alert(this.name_re); 
       alert(this.id); 
      }); 
     }); 
    }); 
+1

* FORMATTING!* 12 – Ryan 2011-12-23 20:42:44

+0

@minitech我已经格式化了,这里面的$ .each,会给你当前的项目,检查js小提琴链接:) – kvc 2011-12-23 20:44:14

+0

评论编辑已经; ) – Ryan 2011-12-23 20:45:59