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

时间:2013-09-20 09:20:39

标签: jquery ajax json canjs

实际上我正在尝试使用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]

1 个答案:

答案 0 :(得分:1)

我相信你想要的是用现有的数组连接使用ajax返回的新数组:

CATEGORIES = CATEGORIES.concat(CATEGORIES1)