упаковка древовидных структур в печенье - PullRequest
0 голосов
/ 03 февраля 2012

Я хотел бы иметь возможность хранить древовидную структуру в куки. В идеале я хотел бы иметь что-то, что легко распознает / десериализует простой объект javascript.

JSON может быть хорошим вариантом, но быстрое поиск в Google не отфильтровывает основной подход к сериализации в JSON из JavaScript.

Как лучше всего подойти к проблеме?

UPD

Смежные вопросы всплыли Методы сериализации Javascript / PHP cookie? , что предлагает использовать прототип Object.toJSON. Я бы предпочел остаться с JQuery.

UPD2

Оказалось, что window.JSON.stringify может на самом деле быть достаточным в моем случае, но упомянутая библиотека Дугласа Крокфорда кажется хорошим запасным вариантом для поддержки браузеров, в которых отсутствует свойство JSON глобального объекта.

Ответы [ 3 ]

3 голосов
/ 03 февраля 2012

JSON - твой друг.

Бесплатная и признанная реализация, созданная Дугласом Крокфордом, доступна здесь

Я использовал этот метод для чтения и сохранения в локальном хранилище HTML5 без каких-либо проблем.

1 голос
/ 03 февраля 2012

JSON, несомненно, хороший вариант.Чтобы он работал в кросс-браузерном режиме, включите этот файл на страницу https://github.com/douglascrockford/JSON-js/blob/master/json2.js. Затем используйте JSON.stringify () для преобразования в строку и сохранения и JSON.parse () для получения объекта из файла cookie.

Имейте в виду, что может быть довольно низкий предел символов для длины одного файла cookie , который может ударить любое jsonified дерево, поэтому вы можете захотеть предварительно обработать ваши данные перед преобразованием в JSON (например, заменить логическое значение на1 и 0, переключение имен свойств для сокращенных версий) и последующая обработка для отмены этих изменений после извлечения из файла cookie.

Если объем хранимых данных действительно велик, может быть лучше сохранитьcookie сессии / идентификатора, который используется для получения данных с сервера с помощью запроса AJAX (или, если вам нужен быстрый ответ при загрузке страницы, выведите данные в тег скрипта) и сохраните данные непосредственно на сервер с помощью запросов AJAX.использования куки.

0 голосов
/ 03 февраля 2012

Еще одна реализация сериализации JSON в виде плагина jQuery: http://code.google.com/p/jquery-json/

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