如何使用jquery将JSON导入SQLite

时间:2012-09-20 17:23:29

标签: jquery json sqlite

我已经在HTML5和JS(phonegap)中开发了一个应用程序,现在我必须将JSON导入到本地SQLite中。 我有以下代码,以便从外部服务器

导入
        $.ajax({
        url: 'path_to_my_file',
        data: {name: 'Chad'},
        dataType: 'jsonp',
        success: function(data){
                var count = data.posts.length;
                $.each(data.posts, function(i,post){
                    notesdb.transaction(function(t) {
                    t.executeSql('INSERT into bill (barcode, buildingcode, buildingaddress, flatname, flatdescription, entryseason, period, amount, pastpayments, todaypayments, receiptno) VALUES (?,?,?,?,?,?,?,?,?,?,?);',
                        [post.Id, post.Code, post.Address, post.Name, post.Description, post.EntrySeason, post.Period, post.Revenue, post.PastPayments, post.todaypayments, post.receiptno],
                        function(){ 
                            bill = bill + 1;
                            $('#mycontent article').html(bill + '/' + data.posts.length + ' <strong>bill</strong>');

                            if (--count == 0) {
                                $('#mycontent article').html('<strong>bill - <font color=green>OK</font></strong>');
                            }
                        }
                    );
                    });
                });
            }
    });

如果我必须导入本地json var,例如

,我该如何转换代码
var mybilljson = jQuery.parseJSON( billjson );

进入同一个SQLite?

1 个答案:

答案 0 :(得分:0)

从服务器收到数据后,将调用success函数 传递给each的函数会被posts中的每个元素调用 传递到transaction的函数在事务开始时被调用 传递给executeSql的函数在命令执行完毕后被调用。

您没有服务器请求,我认为mybilljson包含一个帐单,因此您必须删除前两个帐号。结果将是这样的:

var mybill = ...;
notesdb.transaction(function(t) {
    t.executeSql('INSERT INTO bill(...) VALUES(...)',
                 [mybill.Id, ...],
                 function() {
                     // whatever
                 });
});