将数据推送到json对象

时间:2015-01-31 17:36:49

标签: javascript jquery json

我正在制作Chrome应用,我想在json文件中保存歌曲的名称和艺术家。我知道它是如何工作的,但我不知道如何将数据(这里:名称和艺术家)放入json数组中。 var是:

var favorites = [];

因此,如果有人点击该星标,则该艺术家和该歌曲的名称应该被放入收藏夹中:

$(document).on('click','.fa-star-o', function() {
    var title = $(this).parent().find('.tracktitle').text(),
        artist = $(this).parent().find('.artist').text();
    $(this).removeClass('fa-star-o').addClass('fa-star');
    $('<li/>').append('<span class="tracktitle">'+ title +'</span>').append('<span class="artist">'+ artist +'</span>').prependTo($favorites);
});

我希望有人可以帮助我:) 抱歉我的英文不好

3 个答案:

答案 0 :(得分:12)

您可以使用.push()将对象添加到数组中,如下所示:

//create object
var myObj = {
    "artist" : artist,    //your artist variable
    "song_name" : title   //your title variable
};
//push the object to your array
favorites.push( myObj );

答案 1 :(得分:3)

我不知道最喜欢的格式。但如果它是你想要的JSON字符串,你可以使用JSON.stringify()来构造它。

myJString = JSON.stringify({artist: artist, title : title});

答案 2 :(得分:0)

var myObj = {
    "artist" : $(this).parent().find('.artist').text();
    "song_name" : $(this).parent().find('.tracktitle').text()
};

$(document).on('click','.fa-star-o', function() {
    $(this).removeClass('fa-star-o').addClass('fa-star');
    favorites.push(myObj); //push the object to your array
});