admin管理员组

文章数量:1391943

I am looping through the following json. I get id and name fine, but when I do json.templates[i].dailyemails.length it always returns 0.

Here is my json:

{
   "templates":[
      {
         "id":"2c1d99d9b6b2fb417601d24c10c9b041a7d6f37b",
         "dailyemails":[
            "[email protected]",
            "[email protected]"
         ],
         "name":"Registration Report"             
      },
      {
         "id":"7d7cc642ca13cc4a998cad364dfe8e623fd95ae3",
         "dailyemails":[
            "[email protected]"
         ],
         "name":"Live Report"
      }

   ]
}

I am looping through the following json. I get id and name fine, but when I do json.templates[i].dailyemails.length it always returns 0.

Here is my json:

{
   "templates":[
      {
         "id":"2c1d99d9b6b2fb417601d24c10c9b041a7d6f37b",
         "dailyemails":[
            "[email protected]",
            "[email protected]"
         ],
         "name":"Registration Report"             
      },
      {
         "id":"7d7cc642ca13cc4a998cad364dfe8e623fd95ae3",
         "dailyemails":[
            "[email protected]"
         ],
         "name":"Live Report"
      }

   ]
}
Share Improve this question edited Sep 11, 2012 at 15:53 Brian 15.9k7 gold badges37 silver badges43 bronze badges asked Sep 11, 2012 at 15:39 Pit DiggerPit Digger 9,81023 gold badges81 silver badges126 bronze badges
Add a ment  | 

3 Answers 3

Reset to default 1

If this is JSON, that is a string, you have to parse it and work with a javascript object :

var obj = JSON.parse(json);

And then you may query obj.templates[i].dailyemails

$.each(data.templates,function(index,item){
    alert(item.dailyemails.length)
});

Sample : http://jsfiddle/JbF29/2/

This should work just fine as seen in this live demo. Make sure that your actual JSON structure is the same as the one you have shown in your question.

本文标签: javascriptGetting Data from a json sub arrayStack Overflow