196 • Глава 6
обратно в объекты. Для этого понадобится добавить оболочки вокруг методов
set
и
get
,
но, в зависимости от вашего приложения, это может и не создать вовсе никаких проблем.
ПРИМЕЧАНИЕ
JSON (JavaScript Object Notation) — это открытый стандарт представления данных в текстовом
виде Спецификация, которую можно найти на сайте http://json org, настолько проста, что полно-
стью помещается на обороте визитки!
Все новейшие браузеры (ночные сборки и финальные релизы) поддерживают кодирование
JSON с помощью методов
JSON.parse
и
JSON.stringify
. Для браузеров без поддержки
JSON можно использовать библиотеку JSON Дугласа Крокфорда (загрузите ее с веб-сайта
https://github com/douglascrockford/JSON-js
).
Для создания оболочки методов
setItem
и
getItem
можно использовать такой код:
var videoDetails = {
author: 'bruce',
description: 'how to leverage synergies',
rating: '-2'
};
sessionStorage.setItem('videoDetails', JSON.
stringify(videoDetails) );
// позже, например, при повторной загрузке
¬ страницы можно извлечь
¬ сохраненные данные
¬ stored data
var videoDetails = JSON.parse(sessionStorage.getItem
¬ ('videoDetails'));
Как говорилось в разделе, посвященном обзору API, если в объекте хранения запрашивае-
мый ключ отсутствует, то метод возвращает значение
null
. Это не проблема для стандарт-
ных парсеров JSON, так как
JSON.parse(null)
вполне предсказуемо возвращает значение
null
. Однако если передать
null
коду на JavaScript от Дугласа Крокфорда, это приведет
к ошибке. Следовательно, если вам известно, что будет использоваться библиотека Дугласа
для JSON на JavaScript, то заранее предусмотрите обработку ошибки, добавив такой код:
var videoDetails = JSON.parse(sessionStorage.getItem
¬ ('videoDetails') || 'null');
Так вы гарантируете, что если метод
getItem
вернет значение
null
, то дальше вы переда-
дите версию этого значения, подготовленную для JSON, и парсер JSON на основе JavaScript
отработает без ошибок.
Достарыңызбен бөлісу: