PhoneGap localStorage возвращает строку «[объект объекта]» вместо объекта

14

Я trief для использования объекта localStorage в Phonegap, но вместо получения объекта getItem получает только строку "[object Object]":

var storage = window.localStorage;
storage.setItem('test',{'name':'mark','greeting':'Hello'});
console.log(storage.getItem('test'));

В консоли Google chrome говорится:

[object Object]

Вывод "console.log(storage)" выглядит следующим образом:

Storage
...
test: "[object Object]"

Если я пытаюсь получить доступ к свойству объекта, он просто говорит "undefined":

storage.getItem('test').name

Любые идеи, как заставить это работать?

  • 0
    Вы уверены, что консоль не просто отображает [объект объекта]? Что console.log(storage.getItem('test').name) ?
  • 0
    Как я написал: undefined :)
Показать ещё 3 комментария
Теги:
object
cordova
local-storage

1 ответ

36
Лучший ответ

HTML5 localStorage позволяет вам хранить только строки.

При сохранении объекта вам нужно будет выполнить JSON.stringify и JSON.parse, когда вы его получите.

  • 1
    Я использую dojo и сделал dojo.toJson и dojo.fromJson
  • 0
    Строковый и разборный подход стоит золота. Но на Android (тестирование в браузере приложения на 2.3.3 на Samsung) возникает следующая ошибка: «Веб-консоль (5504): необнаруженный незаконный доступ к файлу: /// android_asset / www /» и т. Д., Если я пытаюсь это сделать: JSON.parse (localStorage.getItem ( 'покупки'))
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню