Zapętam się przez następujące JSON. Dostaję identyfikator i nazwę dobrze, ale kiedy robię json.templates[i].dailyemails.length zawsze zwraca 0.

Oto mój plik json:

{
   "templates":[
      {
         "id":"2c1d99d9b6b2fb417601d24c10c9b041a7d6f37b",
         "dailyemails":[
            "saaa@aa.com",
            "aaa.aaa@gmail.com"
         ],
         "name":"Registration Report"             
      },
      {
         "id":"7d7cc642ca13cc4a998cad364dfe8e623fd95ae3",
         "dailyemails":[
            "saaa@ss.com"
         ],
         "name":"Live Report"
      }

   ]
}
0
Pit Digger 11 wrzesień 2012, 19:39

3 odpowiedzi

Najlepsza odpowiedź

Powinno to działać w porządku, jak widać w tym Demo na żywo. Upewnij się, że twoja aktualna struktura JSON jest taka sama jak ta, którą pokazałeś w swoim pytaniu.

0
Darin Dimitrov 11 wrzesień 2012, 15:42

Jeśli jest to JSON, to jest ciąg, musisz go przeanalizować i pracować z obiektem JavaScript:

var obj = JSON.parse(json);

A potem możesz zapytać obj.templates[i].dailyemails

1
Denys Séguret 11 wrzesień 2012, 15:41
$.each(data.templates,function(index,item){
    alert(item.dailyemails.length)
});

Próbka: http://jsfiddle.net/jbf29/2/

1
Shyju 11 wrzesień 2012, 15:42