将 JSON 对象插入客户端 Web sql 数据库

发布于 2025-01-02 16:45:47 字数 945 浏览 2 评论 0原文

我在将 JSON 调用的对象加载到客户端 SQL 数据库时遇到问题。

在我的具体情况下,我有 3 个从“jQuery.getJSON”返回的对象,并且想要将“content”键的值插入客户端 Web 数据库,以便我的数据库包含以下内容:

id content
 1 "Text A"
 2 "Text B"
 3 "Text C"

但是,问题是,是我的“for”循环在开始执行数据库事务之前循环遍历所有返回的 JSON 对象。结果,我最终在数据库中得到以下内容:

id content
 1 "Text C"
 2 "Text C"
 3 "Text C"

这是代码:

    jQuery.getJSON( url, params, function(obj, status, xhr){
      $('#myMessageCount').html(obj.length);
      var dbTable = 'messages';
      var jsObject = null;
      for (var i=0; i < obj.length; i++) 
      {
        jsObject = obj[i].message.content;
        db.transaction(function (tx) {
          tx.executeSql('INSERT INTO ' 
            + dbTable 
            + ' (content) VALUES (?)'
            , [jsObject], successHandler, errorHandler);
        });
       }
    });

也许我需要在尝试插入数据库之前对 JSON 对象执行一些操作?希望这只是我正在监督的一些语法。非常感谢任何帮助!

I'm having trouble loading the objects of my JSON call into a client side sql db.

In my specific case, I have 3 objects that are returned from "jQuery.getJSON" and want to insert the value of the "content" key into the client-side web database such that my db contains the following:

id content
 1 "Text A"
 2 "Text B"
 3 "Text C"

The problem, however, is that my "for" loop cycles through all the returned JSON objects before beginning the execution of the db transaction. As a result, I end up with the following in my db:

id content
 1 "Text C"
 2 "Text C"
 3 "Text C"

Here's the code:

    jQuery.getJSON( url, params, function(obj, status, xhr){
      $('#myMessageCount').html(obj.length);
      var dbTable = 'messages';
      var jsObject = null;
      for (var i=0; i < obj.length; i++) 
      {
        jsObject = obj[i].message.content;
        db.transaction(function (tx) {
          tx.executeSql('INSERT INTO ' 
            + dbTable 
            + ' (content) VALUES (?)'
            , [jsObject], successHandler, errorHandler);
        });
       }
    });

Perhaps I need to do something with the JSON objects before trying to insert in the db? Hopefully, it's just some syntax that I'm overseeing. Any help is greatly appreciated!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

又怨 2025-01-09 16:45:47

除非您需要以某种方式在服务器上获取 JSON 数据,否则许多人只是将其保存为文本 blob 并按原样在客户端上使用它,而不进行任何转换。

Unless you need to get to the JSON data somehow on the server, many just save it as a text blob and consume it on the client as-is without any conversion.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文