Массив Javascript, индексированный строками, не может быть преобразован в JSON с использованием JSON.stringify? - PullRequest
0 голосов
/ 01 сентября 2009

Я пытался структурировать массив javascript, в котором используются строки. JSON всегда делает массив пустым ([]).

var arr = new Array(3);
arr['A'] = "Foo";
arr['B'] = "Bar";
arr['C'] = "Baz";

var str = JSON.stringify(arr);

Если я заменю 'A', 'B', 'C' на 0,1,2, тогда массив будет правильно структурирован. Я уверен, что что-то упустил, просто не знаю, что.

Спасибо!

Ответы [ 2 ]

1 голос
/ 01 сентября 2009

Вы не можете иметь ключи как строки в массиве, используйте объект для этого {}.

var obj = {};
obj['A'] = "Foo";
obj['B'] = "Bar";
obj['C'] = "Baz";

var str = JSON.stringify(obj);
0 голосов
/ 01 сентября 2009

Вы хотите объект, а не массив.

JSON.stringify({
  "A": "Foo",
  "B": "Bar",
  "C": "Baz"
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...