По умолчанию localStorage или sessionStorage позволяет хранить только строковые пары ключ / значение. Но вы также можете хранить объекты JavaScript в веб-хранилище с помощью небольшой хитрости.
Чтобы сохранить объекты, сначала сделайте их строковыми с помощью метода JSON.stringify()
, а затем распарсите с помощью JSON.parse()
, когда вам понадобится его использовать, как показано в следующем примере:
<script>
var personObject = { name: "Peter", age: 18, married: false };
// Преобразуем объект в строку JSON и сохраним его в хранилище
localStorage.setItem("personObject", JSON.stringify(personObject));
// Получаем строку JSON
var jsonString = localStorage.getItem("personObject");
// Парсим строку JSON обратно в объект JS
var retrievedObject = JSON.parse(jsonString);
console.log(retrievedObject);
// Доступ к отдельным значениям
console.log(retrievedObject.name); // Печатаем: Peter
console.log(retrievedObject.age); // Печатаем: 18
console.log(retrievedObject.married); // Печатаем: false
</script>
Подробнее см. Руководство по веб-хранилищу HTML5, чтобы узнать больше о локальном хранилище и хранилище сеансов.