Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 多维数组上的Json迭代产生未定义错误_Javascript_Jquery_Json_Multidimensional Array - Fatal编程技术网

Javascript 多维数组上的Json迭代产生未定义错误

Javascript 多维数组上的Json迭代产生未定义错误,javascript,jquery,json,multidimensional-array,Javascript,Jquery,Json,Multidimensional Array,我看了很多例子,但找不到任何解决问题的方法。我有以下格式的json数组 { "value" : [ { "...some variables...", "comments" : [ { "user_name" : "arascanakin", "picture_url" : "...some url..." } ], "error" : false, "msg" : "some m

我看了很多例子,但找不到任何解决问题的方法。我有以下格式的json数组

{ "value" : [
    { "...some variables...",
      "comments" : [
        { "user_name"   : "arascanakin",
          "picture_url" : "...some url..."
        }
      ],
      "error" : false,
      "msg"   : "some message"
    }
另外,可能有语法错误,我已经手动编写了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。当我将每个comment元素设置为
$task\u comment
时,comments
是未定义的


有什么办法解决这个问题吗?对我来说这似乎是正确的,但我读到JavaScript不允许多维数组。

我修改了你的代码,一旦我修复了你的json,它就可以正常工作了

我想在这里发布json,但格式不正确。。。看到小提琴了吗


编辑:整理一些注释:

我整理了你的代码,一旦我修复了你的json,它就可以正常工作了

我想在这里发布json,但格式不正确。。。看到小提琴了吗


编辑:整理一些注释:

如果您的JSON数据正确,那么您的问题与JSON无关,而是与如何访问JavaScript对象/数组有关。您是对的,JavaScript没有多维数组,但是您当然可以有数组的数组。这里真的没什么好说的。如果
task.comments
是一个数组,则
$task\u comment
将是数组项的值:。看起来数据和你想象的不一样,仔细检查一下。你试过经典的javascript吗?一些人认为像
tsk=task.comments;对于(var i=0;i
我通过json_encode($return)语句发送此json。我没有手动给出json。
$task\u comment.user\u name
$task\u comment.content
给出了正确的值,但我仍然得到了这个错误;无法读取未定义行的属性“length”_no:second each iteration@FelixKlingPlease创建一个包含更完整示例(更多数据,更多代码)的演示。如果您的JSON数据正确,那么您的问题与JSON无关,而与如何访问JavaScript对象/数组有关。您是对的,JavaScript没有多维数组,但是您当然可以有数组的数组。这里真的没什么好说的。如果
task.comments
是一个数组,则
$task\u comment
将是数组项的值:。看起来数据和你想象的不一样,仔细检查一下。你试过经典的javascript吗?一些人认为像
tsk=task.comments;对于(var i=0;i
我通过json_encode($return)语句发送此json。我没有手动给出json。
$task\u comment.user\u name
$task\u comment.content
给出了正确的值,但我仍然得到了这个错误;无法读取未定义行的属性“length”_no:second每次迭代@FelixKlingPlease创建一个带有更完整示例(更多数据,更多代码)的演示。