javascript - 使用 jquery 或 javascript 通过 AJAX 读取嵌套的 JSON 并输出到表

标签 javascript jquery ajax json

<分区>

Possible Duplicate:
jquery reading nested json

我真的很想有一个硬性快速的方法来遍历 JSON 中的多个记录,每个记录都可能有很深的嵌套。我只是想输出到一个表。

对于 $.each() 或 $.ajax() 成功的 javascript 方法,我不确定需要通过 function() 传递哪些参数。所有示例似乎都使用通用词“data”或“obj”,但那些让我感到困惑 - 它们是内置函数参数还是我可以随意命名它们:

$.each(foo, function(bar){

});

我如何跟踪我在循环/嵌套中的位置?

我更愿意使用 JQuery,但我也应该知道直接使用 JavaScript 的方法。而且我还想知道如果没有一百行代码是否可行。

以这个JSON为例:

{
  date: " 2012-10-18 16:58:35.104576",
  data: [{
    title: "The Princess Bride",
    rating: "PG",
    length: 128,
    stars: [
      "Gary Elwes",
      "Robin Wright",
      "Christopher Guest"
    ]

  }, {
    title: "This is Spinal Tap",
    rating: "R",
    length: 105,
    stars: [
      "Christopher Guest",
      "Michael McKean",
      "Harry Shearer"
    ]
  }]
}

我找不到任何包含嵌套 JSON 的有用示例,即使在 StackOverflow 中也是如此。

遍历并将每个元素分配给表格单元格的最有效方法是什么? HTML 输出并不重要 - 我知道如何制作表格...如何获得“星星”?

当我使用 Chrome 控制台并简单地使用 $.getJSON('/example'); 时,我得到了响应文本中返回的整个 JSON,从 "{"date":"开始2012-10-18,"data": [{"title": "The Princess Bride", 但是在 JSON 文档、$.getJSON 上的 JQuery 文档以及任何 JavaScript 示例中我都找不到引用 responseText。所以,我迷路了。 $.getJSON 需要什么参数来对象化 responseText?

最佳答案

尝试

obj.data[0].stars      // Will get you the stars in the 1st Object

obj.data[0].stars[0]   // Gary Elwes

FIDDLE

遍历 Stars 对象你可以试试这个

$.each(obj.data , function(key , value){ // First Level
    $.each(value.stars , function(k , v ){  // The contents inside stars
        console.log(v)
    });        

});

UPDATED FIDDLE

编辑

 $.ajax({
      // Parameters 

      success : function(obj){
            $.each(obj.data , function(key , value){ // First Level
                 $.each(value.stars , function(k , v ){  // The contents inside stars
                     console.log(v)
                 });     
            });
      }
  });

关于javascript - 使用 jquery 或 javascript 通过 AJAX 读取嵌套的 JSON 并输出到表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13020258/

相关文章:

javascript - 如何使用 Jquery 和 Django 更改样式表

javascript - 将文本工具添加到 Paint App HTML5 Canvas

javascript - 同时使用 AJAX $_FILES 和 $_POST

javascript - jQuery 自动完成将结果标签显示为未定义

javascript - 在提交到 PHP 之前,如何使用 AJAX 从选择标签中获取数据?

javascript - 从包含 Div 和脚本标记的 html 编码字符串中动态添加 div 元素

javascript - 调整图像大小以适应 CSS 中的基线网格

javascript - 闪烁文本这么多秒 - 然后消失

javascript - Select2 在加载了 JQuery 的元素上

javascript - 当 multipule 运行时,将加载图标附加到 Table TD 以进行 ajax 调用会混淆