2012-02-28 84 views
1

我看了很多例子,但我找不到任何东西来解决我的问题。我有以下格式的json数组;Json迭代多维数组给出了未定义的错误

{ "value" : [ 
    { "...some variables...", 
     "comments" : [ 
     { "user_name" : "arascanakin", 
      "picture_url" : "...some url..." 
     } 
     ], 
     "error" : false, 
     "msg" : "some message" 
    } 

P.S.可能有语法错误,我手动编写了JSON数组。这是正确的。

我有以下jQuery来遍历数组:

$.each($task_array, function (i, task) 
{ 
    // some stuff 
    $.each(task.comments, function(i, $task_comment) 
    { 
     // some stuff 
     // $task_comment is undefined here 
    }); 
}); 

问题是task.comments是未定义的,当我每个注释元素设置为$task_comment

任何想法来解决这个问题?对我来说似乎是正确的,但我读到JavaScript不允许多维数组。

+1

如果你的JSON数据是正确的,那么你的问题是不相关的JSON,而是如何访问JavaScript对象/数组。你是对的,JavaScript没有多维数组,但你当然可以有数组的数组。这里没什么好说的,真的。如果'task.comments'是一个数组,那么'$ task_comment'将是数组条目的值:http://jsfiddle.net/7yJkG/。看起来数据不像你想的那样,仔细检查一下。 – 2012-02-28 16:54:54

+0

你有没有试过经典的JavaScript?有点像'tsk = task.comments; for(var i = 0; i 2012-02-28 16:56:50

+0

我通过json_encode($ return)语句发送这个json。我不会通过手动提供json。 – aacanakin 2012-02-28 17:01:09

回答