我有一个 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 文件夹数据(或者不将 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 以使其随时可读?任何帮助将不胜感激!
最佳答案
是的,在保存到数据库之前尝试 JSON.stringify 对象。当你读取 data => JSON.parse 来获取对象时。
关于javascript - Cordova - 如何从本地存储保存和读取 JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25422838/