2D JSON String Array десериализован в объекты JavaScript - PullRequest
0 голосов
/ 27 мая 2011

Привет, у меня есть строка JSON, которая выглядит следующим образом:

{"2000":["1", "2", "3"],"2001":["1", "2", "3"],"2002":["1", "2", "3"]}

Строка выше взята из "бэкенда", и моя функция JavaScript получает строку JSON в качестве параметра, который называется backendData.

Цикл по параметру, как показано ниже, дает следующий результат.

for (key in backendData) {
    alert(key);
}

Три окна предупреждений со значениями: 2000, 2001 и 2002.

Проблема в том, что я могуне понять, как получить доступ к массиву строк для каждого из «родительских» элементов.Использование синтаксиса key[0] и т. Д. Дает мне символ с индексом 0 в строке, который во всех трех случаях равен «2».

Требуется помощь.

/ Michael

Ответы [ 2 ]

2 голосов
/ 27 мая 2011

Я думаю, что вы хотите

backendData[key]

, так как вы хотите посмотреть отображение на карте backendData . key[0] индексирует что-то внутри key (как массив символов), а это не то, что вам нужно, как вы обнаружили.

2 голосов
/ 27 мая 2011

Это повторяет все значения. Помните, что backendData - это просто объект javascript.

for (key in backendData) {
   for (x in backendData[key])
    alert(backendData[key][x]);
}

или в данных вашего примера это сработает

for (key in backendData) {
   alert(backendData[key][0];
   alert(backendData[key][1];
   alert(backendData[key][2];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...