JSON: Массив [] или массив {}? [дубликат]

176
05 января 2019, 09:10

На данный вопрос уже ответили:

  • Получаю пустой массив после JSON.stringify 1 ответ

В общем, есть пустой массив 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 не устроил первый вариант?

Answer 1

Потому что JSON-представление массива, созданного как xray = []; - это его элементы, разделенные запятыми, в квадратных скобках.

var array = []; 
var temp = []; 
temp[0] = 'test'; 
temp.title = 'title'; //не будет включенo в JSON массива temp 
array[array.length] = temp; 
console.log(JSON.stringify(array));

READ ALSO
Как правильно оформить код в JavaScript?

Как правильно оформить код в JavaScript?

Есть 2 кнопки, каждая отвечает за срабатывание своей части контента, подскажите как это компактно оформить, чтобы не копировать одно и тоже...

182
Доработать скрипт

Доработать скрипт

Нужно чтобы этот скрипт не выдавал alert("Ничего не найдено, проверьте правильность ввода!"), когда введено 2 и более слов

174
Защита Canvas от пользовательских скриптов

Защита Canvas от пользовательских скриптов

На данный момент я делаю небольшую браузерную игрушку, типа как Final Fantasy, используя jCanvasИ вот возник вопрос о защите от пользовательских скриптов,...

171