На данный вопрос уже ответили:
В общем, есть пустой массив array[]. В его значение я добавлял массив xray таким образом:
array[array.length] = xray;
Казалось бы, все хорошо, но когда кодируешь этот массив в JSON - пустота.
Проблему решил при помощи:
var temp = {};
temp.title = xray['title'];
temp.value = xray['value'];
array[array.length] = temp;
И при JSON.stringify(array) получил корректный результат.
Вопрос один: почему так? Чем JSON.stringify не устроил первый вариант?
Потому что JSON-представление массива, созданного как xray = []; - это его элементы, разделенные запятыми, в квадратных скобках.
var array = [];
var temp = [];
temp[0] = 'test';
temp.title = 'title'; //не будет включенo в JSON массива temp
array[array.length] = temp;
console.log(JSON.stringify(array));
Сборка персонального компьютера от Artline: умный выбор для современных пользователей