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

zhoujg 阅读:108 2025-12-25 22:24:30 评论:0

我正在从远程数据库中提取数据并获取此 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”和“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); 
} 


标签:JavaScript
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号