将JSON数据插入Sqlite/webSQL数据库



我正在从远程数据库中提取数据并获得此JSON数据:

{"list1":{"id":1, "item":"testobj1"},"list2":{"id":2, "item":"testobj2"},"list3":{"id":3, 
"item":"testobj3"},"list4":{"id":4, "item":"testobj4"},"list5":{"id":5, "item":"testobj5"}}

我现在可以循环遍历数据中的对象,并在屏幕上显示对象列表。

var d = JSON.parse(hr.responseText);
databox.innerHTML = "";
for (var o in d) {
    if (d[o].item) {
        databox.innerHTML += '<p>' +     d[o].item + '</p>' + '<hr>';
    }
}

现在,我想把这些数据插入到我的Sqlite数据库中。我不太确定我怎么能告诉循环'd[o]。"Id"one_answers"d"[o]。item'是我想要插入到数据库中的项。

db.transaction(function(tx) {
    var sql = "INSERT OR REPLACE INTO testTable (id, item) " + "VALUES
    (?, ?)";
    log('Inserting or Updating in local database:');
    var d = JSON.parse(hr.responseText);
    var id = d[o].id;
    var item = d[o].item;
    for (var i = 0; i < d.length; i++) {
        log(d[o].id + ' ' + d[o].item);
        var params = [d[o].id, d[o].item];
        tx.executeSql(sql, params);
    }
    log('Synchronization complete (' + d + ' items synchronized)');
}, this.txErrorHandler, function(tx) {
    callback();
});

我希望有人能看看这个循环,告诉我我错在哪里。提前感谢!

d上迭代,就好像它是一个数组而不是一个对象。像这样的东西可能是你正在寻找的:

var d = JSON.parse(hr.responseText);
for (var o in d) {
    var params = [d[o].id, d[o].item];
    tx.executeSql(sql, params);
}

最新更新