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

可能重复:
jquery读取嵌套的json

我真的希望有一个快速而快速的方法来循环遍历JSON中的多个记录,每个记录都有可能深度嵌套。 我只是想输出到一个表。

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

$.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'); 我在responseText中返回了整个JSON,从"{"date":"2012-10-18 ,"data": [{"title": "The Princess Bride",但是在JSON文档中都没有,JQuery关于$ .getJSON的文档,在任何JavaScript示例中都可以找到对responseText的引用。 所以,我迷路了。 $ .getJSON需要将responseText客观化为什么参数?

尝试

 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) }); }); 

更新的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) }); }); } });