2013-10-04 55 views
2

如何将以下JSON数据字符串循环到jquery中? 我应该使用$ .getJSON函数吗?jquery循环数据

jQuery17209521235961001366_1380903443191({"type":"result","rid":"hopkinsa","data": 
[[{"artist":"NAME1","title":"SONG1","album":null,"royaltytrackid":null,"url":null,"image":"test1.jpg","time":1380910069,"localtime":"11:07 AM"}, 
{"artist":"NAME2","title":"SONG2","album":null,"royaltytrackid":null,"url":null,"image":"test2.jpg","time":1380909866,"localtime":"11:04 AM"}, 
{"artist":"NAME2","title":"SONG3","album":null,"royaltytrackid":null,"url":null,"image":"test3.jpg","time":1380909864,"localtime":"11:04 AM"}],false,0,10,0]}) 

我这个代码尝试:

$(document).ready(function() { 
    $.getJSON("json.php", function(data){ 
     $.each(data.data[0], function(i, item){ 
      $("#data").append(item.artist); // Name1, Name2 
     });  
    }) 
}); 
+1

这将是JSONP,所以是的,如果你想获得从另一个网站,你可以使用$。 getJSON – adeneo

回答

1

这不是JSON,这是一个字面上的JS对象,因为jQuery将已经解码了。只需使用括号[],点符号.和循环。

在你的回调,如果帕拉姆名称是数据,你可以做以下

$.getJSON("url.json", function(data){ 
    console.log(data.type, data.data[0][0].artist) //"result", "Name1" 
    $.each(data.data[0], function(i, item){ 
     console.log(item.artist); // Name1, Name2 
    });   
}) 
+0

我在php文件json.php中有字面JS对象。我没有得到任何结果,如果我使用您的代码... – Stefan

+0

2秒...测试... – Stefan

+0

嗯页面是空白的。看看我的编辑。 – Stefan