2013-09-20 4 views
0

На самом деле, я пытаюсь заполнить список лет, используя canjs.Как преобразовать массив json в json-объект в js

КАТЕГОРИИ является существующий объект JSON

var CATEGORIES = [ 
    { 
     id: 1, 
     year: '1983' 
    }, 
    { 
     id: 2, 
     year: '1984' 
    }, 
    { 
     id: 3, 
     year: '1985' 
    } 
]; 

и остальные из базы данных с помощью can.ajax и стройный работы кадров .... я могу иметь возможность получить подробную информацию из базы данных, используя может Ajax и JSON кодирования .. .now моя проблема заключается в том, как я могу добавить этот сгружен массив 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] 
+0

Это не [JSON] (http://json.org), это JavaScript. Пример: * «КАТЕГОРИИ - это существующий объект json» * Нет, это массив JavaScript. –

+0

Как я могу добавить новые значения в это –

+0

@ sasi: Добавление записей в массив действительно является основным. Я предлагаю отступить от того, что вы делаете, и работать с некоторыми хорошими учебниками по JavaScript. Но: 'CATEGORIES.push ({id: 4, year: '1986'});' –

ответ

1

Я считаю, что вы хотите, чтобы Concat вы существующий массив с новым возвращаемого с помощью ajax:

CATEGORIES = CATEGORIES.concat(CATEGORIES1) 
Смежные вопросы