我有一个用于进行Web服务调用的cordova项目。这会产生一个json对象
Object {deletedIds: Array[0], ... etc etc
我正在尝试将其保存到数据库,然后在没有互联网连接的情况下读取数据。
从获取数据的函数中,我将数据设置为localStorage(localStorage.setItem("folderData", data);
),然后调用db.transaction(queryFolderTable, errorCB);
。
然后读取本地存储,保存(如果可能)并读取它(如果没有互联网连接)
当我从表中选择数据时,我调用querySuccessFolderData函数
function querySuccessFolderData(tx, results) {
var len = results.rows.length;
alert("folderData table: " + len + " rows found.");
for (var i=0; i<len; i++){
var folderData = results.rows.item(i).folderData;
}
console.log(folderData);
}
当我在console.log中使用folderData(或者不要将JSON.parse添加到任何内容)时,我得到以下内容:
[object Object]
我如何能够将数据成功保存为json对象,然后正确读出?我在localStorage中设置之前尝试过JSON.parse数据,但是我得到以下控制台错误
Uncaught SyntaxError: Unexpected token o
如果我在从localStorage读取数据时尝试JSON.parse数据,我会收到以下2个错误
Uncaught SyntaxError: Unexpected token o connection.js:
Error processing SQL: 0
我做错了什么?我是否需要JSON.stringify数据以使其在任何时候都可读?任何帮助将不胜感激!
答案 0 :(得分:3)
是的,在保存到数据库之前尝试使用JSON.stringify对象。当你读取data =&gt; JSON.parse它来获取对象。