2014-01-23 2 views
0

У меня есть простой JSON API, который по какой-то причине дает другое значение, чем то, что console.log сообщает, что это значение имеет.response.json() рендеринг старой переменной

Мой маршрут:

app.get('/dateRecords', function(request, response, next) { 
    console.log('/dateRecords', api.dateRecords); 
    response.json(api.dateRecords); 
}); 

Это мой api.js:

exports.dateRecords = exports.dateRecords || []; 

exports.listData = function(req, res) { 
    console.log('listData:', exports.dateRecords); 
    return res.json(exports.dateRecords); 
}; 

Консоль вывода:

listData: [] 
addData: [ '2014-01-22': { requestedInvites: 47 } ] 
addData: [ '2014-01-22': { requestedInvites: 47, registrations: 5 } ] 
getStatsForDate http://create.gootechnologies.com/api/metrics/ksa8dVWi8sPg41?mode=1&day=20140122 
listData: [ '2014-01-22': { requestedInvites: 47, registrations: 5 } ] 
addData: [ '2014-01-22': { requestedInvites: 47, registrations: 5 } ] 
addData: [ '2014-01-22': { requestedInvites: 47, registrations: 5 } ] 
getStatsForDate http://create.gootechnologies.com/api/metrics/ksa8dVWi8sPg41?mode=1&day=20140105 
listData: [ '2014-01-22': { requestedInvites: 47, registrations: 5 } ] 
addData: [ '2014-01-22': { requestedInvites: 47, registrations: 5 }, '2014-01-05': { requestedInvites: 49 } ] 
addData: [ '2014-01-22': { requestedInvites: 47, registrations: 5 }, '2014-01-05': { requestedInvites: 49, registrations: 20 } ] 
/dateRecords [ '2014-01-22': { requestedInvites: 47, registrations: 5 }, '2014-01-05': { requestedInvites: 49, registrations: 20 } ] 

выход Браузер:

[] 

(т.е. начальное значение exports.dateRecords)

Что не так?

ответ

2

res.json использует JSON.stringify. JSON.stringify игнорирует свойства массива с помощью нечисловых клавиш.

var a = [1,2,3]; 

    JSON.stringify(a); // '[1,2,3]' 

    a.hi = 4; 

    JSON.stringify(a); // '[1,2,3]' 

Просто пройти обычный объект вместо массива res.json.

+0

Спасибо! Просто понял, что то же самое относится к массиву _any_, встроенному в структуру JSON. –

Смежные вопросы