Jquery 如何在js中将json数组转换为json对象

Jquery 如何在js中将json数组转换为json对象,jquery,ajax,json,canjs,Jquery,Ajax,Json,Canjs,实际上,我正在尝试使用canjs填充一个年份列表 CATEGORIES是现有的json对象 var CATEGORIES = [ { id: 1, year: '1983' }, { id: 2, year: '1984' }, { id: 3, year: '1985' } ]; 并使用can.ajax和slim框架从数据库中保留。。。。我可以使用c

实际上,我正在尝试使用canjs填充一个年份列表

CATEGORIES是现有的json对象

var CATEGORIES = [
    {
        id: 1,
        year: '1983'
    },
    {
        id: 2,
        year: '1984'
    },
    {
        id: 3,
        year: '1985'
    }
];
并使用can.ajax和slim框架从数据库中保留。。。。我可以使用can ajax和json编码从数据库中获取详细信息…现在我的问题是如何将这些获取的json数组添加到现有的json对象中…我尝试了以下代码

var CATEGORIES = [
    {
        id: 1,
        year: 'Family'
    },
    {
        id: 2,
        year: 'Friends'
    },
    {
        id: 3,
        year: 'Co-workers'
    }
];

can.ajax({
url: 'api/years',
error: function (xhr, ajaxOptions, thrownError) {
                 alert(xhr.status);
                   alert(thrownError);
alert(xhr.responseText);
                 },
success: function(CATEGORIES1) {
alert(CATEGORIES1); // output: [{"id":"1","year":"1986"},{"id":"2","year":"1987"}]
CATEGORIES = JSON.stringify(eval("(" + CATEGORIES1 + ")"));
alert(CATEGORIES); // output:[{"id":"1","year":"1986"},{"id":"2","year":"1987"}]
}
});


alert(CATEGORIES); // output:[object Object],[object Object],[object Object]

我相信您想要的是使用ajax返回的新阵列连接现有阵列:

CATEGORIES = CATEGORIES.concat(CATEGORIES1)

这不是,这是JavaScript。例如:“CATEGORIES是现有的json对象”不,它是一个JavaScript数组。如何在@sasi中添加新值:向数组添加条目非常基本。我建议您从现在的工作中退一步,学习一些好的JavaScript教程。但是:
CATEGORIES.push({id:4,年份:'1986'})@T.J.Crowder:我也试过了,但没有useful@jandjorgensen这个问题不适合jquery。我不知道你为什么要修改我的代码,我们在canjs中工作