JSON преобразование в JavaScript - PullRequest
2 голосов
/ 10 июня 2009

Я пытаюсь преобразовать переменную из нескольких массивов в строку JSON в Javascript.

//i'm using functions from http://www.json.org/json2.js

var info = new Array(max);
for (var i=0; i<max; i++) {
  var coordinate = [25 , 32];
  info[i] = coordinate;
}
var result = JSON.stringify(info);

Но результат совсем не похож на строку JSON. Что я тут не так делаю?

Ответы [ 2 ]

8 голосов
/ 11 июня 2009

Вы, и многие в этом вопросе, не уверены в спецификации JSON. У вас есть допустимый массив JSON.

От json.org

JSON построен на двух структурах:

  • Коллекция пар имя / значение. На разных языках это реализован как объект, запись, структура, словарь, хеш-таблица, список ключей или ассоциативный массив.
  • Упорядоченный список значений. На большинстве языков это понимается как массив, вектор, список или последовательность.

Ваш пример соответствует второй структуре - упорядоченному списку значений.

Также от json.org:

Массив - это упорядоченная коллекция ценности. Массив начинается с [(слева) скобка) и заканчивается на] (справа скобка). Значения разделены, (Запятая).

Значение может быть двойной строкой кавычки, или число, или истина или ложь или нуль, или объект или массив. Эти структуры могут быть вложенными.

Не оставляет много для воображения. У вас есть действительный массив JSON. Веселитесь с этим. Но чтобы быть досадно тщательным:

Из RFC

RFC 4627, раздел 2

2) JSON Grammar

Текст JSON представляет собой последовательность жетоны. В набор токенов входит шесть структурных символов, строки, цифры и три буквальных имени.

Текст JSON является сериализованным объектом или массив.

  JSON-text = object / array
4 голосов
/ 10 июня 2009

Результат для меня выглядит так:

[[25,32],[25,32],[25,32],[25,32],[25,32],[25,32],[25,32],[25,32],[25,32],[25,32]]

Что хорошо, насколько я вижу. Это может выглядеть немного странно, но это в основном потому, что JSON часто используется для объектов, которые имеют немного другую запись Вы можете проверить строку и получить обратно структуру массива, так что она выглядит хорошо для меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...