Possible Duplicate:
07000
我真的希望有一个快速而快速的方法来循环遍历JSON中的多个记录,每个记录都有可能深度嵌套.我只是想输出到一个表.
我不确定需要通过函数()为$.each()或$.ajax()成功的javascript方法传递什么参数.所有示例似乎都使用通用词“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’);我在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) }); });
编辑
$.ajax({ // Parameters success : function(obj){ $.each(obj.data,value){ // First Level $.each(value.stars,v ){ // The contents inside stars console.log(v) }); }); } });