小编典典

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

ajax

我真的很想有一个快速便捷的方法来遍历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的任何有用示例。

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

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


阅读 222

收藏
2020-07-26

共1个答案

小编典典

尝试

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

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

小提琴

要遍历Stars对象,可以尝试以下操作

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

});

更新场

编辑

 $.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)
                 });     
            });
      }
  });
2020-07-26