我想制作像这样的东西
album = {[
name:'',
image:'',
tracks:[]
],[
name:'',
image:'',
tracks:[]
]}
但现在我不得不将值附加到正确的json对象中。
var albums = {};
$.get("https://api.spotify.com/v1/artists/1rQX6kg84TqcwGtZHYIdn4/albums", function(data, status) {
tempArr = [];
$.each(data.items, function(i, obj) {
tempArr.push(obj.images[0].url);
albums['image'] = tempArr;
});
console.log(albums)
});
您可以在此处查看相册数据http://jsfiddle.net/u5me8csx/1 有什么帮助吗?
答案 0 :(得分:1)
albums
对象问题中的语法错误,您已交换了用于对象和数组表示法的括号。
您可以使用Array.map()迭代项目并创建所需的格式,如
$.get("https://api.spotify.com/v1/artists/1rQX6kg84TqcwGtZHYIdn4/albums", function(data, status) {
var albums = data.items.map(function(item) {
return {
name: item.name,
image: item.images[0],
tracks: []
}
});
console.log(albums);
$('#result').text(JSON.stringify(albums, null, 2))
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<pre id="result"></pre>