как работать с json-фидом, хранящимся в localStorage в приложении phonegap?

Вот что я делаю:

Получить запрос к моему веб-серверу, ответ в json. Использование шаблонов jquery для отображения этих данных обратного вызова в моем приложении. Довольно просто, работает как шарм.

Вот проблема: я хочу хранить некоторые из этих данных локально, чтобы моему приложению не приходилось каждый раз получать их с сервера (3G медленный, и каждая транзакция вредит моему UX ...). Итак, вот что я предпринял:

$.ajax({
   url: app_domain + '/pages/home.json',
   type: 'get',
   datatype: 'json',
   data: { mobile: "1" },
   async: true,
   cache: false,
   success: function(data) {

       //store locally
       localStorage.setItem('foo', data);
       //grab from local store
       var bar = localStorage.getItem('foo');
       // populate template with data
       $.tmpl("cityTemplate", bar).appendTo('#all'); 

    ...

Это не удалось. (Я понимаю, что код глупый, просто для облегчения отладки, пока он не заработает)

Если я сделаю простой

alert(foo);

после получения локально сохраненных данных, я увижу что-то вроде

[object, Object],[object, Object],[object, Object],...,[object, Object]

, если я сделаю

alert(foo[0])

i get

'['

если я делаю

alert(foo[0].name);

я получаю

'undefined' 

Итак, я предполагаю, что это вызвано изменением формата данных с json на строку при сохранении через localStorage. Вы бы согласились? И если да, что я могу сделать, чтобы вернуть его в формат json?

Большое спасибо!

5
задан istan 28 June 2011 в 19:14
поделиться