Skip to main content
 首页 » 编程设计

json之如何在 react 原生sqlite存储中存储json对象

2025年05月04日99unruledboy

我是 React Native 的新手。将 json 数据存储到数据库表时遇到问题。我试图将一个 json 对象存储到表中,但出现错误。

这是我的json数据:

let formData = {"inspection":{ 
    "date":"23-11-2018", 
    "client name" :"John Doe", 
    "locations":[ 
        { 
            "location_id":"23", 
            "scoreSheets":[ 
              { 
               "name":"EHA", 
               "categories":[ 
                  { 
                    "id":"1", 
                    "observations":[ 
                        { 
                         "option_id":"56", 
                         "option":"lorem ipsum dolor", 
                         "marks":"2" 
                        } 
                    ], 
                   "violations":[ 
                       { 
                         "option_id":"59", 
                         "option_4":"this is label of option 4", 
                         "marks":"-2", 
                         "correctiveActions":[ 
                            { 
                              "comment":"lorem ipsum", 
                              "image":"errror1.jpg" 
                            }, 
                            { 
                              "comment":"dolor set amet", 
                              "image":"errror2.jpg" 
                            } 
                         ] 
                       } 
                   ], 
                   "subscore":"4" 
                  } 
                ], 
              "foodInspections":[ 
                { 
                  "collection_site":"3", 
                  "hazardousItems":"4", 
                  "non-compliant_food":"lorem ipsum", 
                  "potential_cause":"lorem ipsum" 
                } 
              ], 
              "refrigerations":[ 
                 { 
                   "unit_identification":"lskdre", 
                   "unit temprature":"34" 
                 } 
              ], 
          "totalScore":"75" 
            } 
        ] 
 
        } 
    ], 
    "finalScore":"100" 
}};  

这是我的代码:
db = SQLite.openDatabase(database_name, database_version, database_displayname, database_size, this.openCB, this.errorCB); 
 db.transaction((tx) => { 
    tx.executeSql('CREATE TABLE IF NOT EXISTS Inspections( ' 
     + 'id INTEGER PRIMARY KEY NOT NULL, ' 
     + 'inspector_id INTEGER NOT NULL, ' 
     + 'inspection_data TEXT ); ', [], this.successCB, this.errorCB); 
 
     tx.executeSql('INSERT INTO Inspections (inspector_id, inspection_data) VALUES ('+decoded.uid+','+formData+');', []); 
 
}); 

我想在检查表中插入 json 数据。我也使用了 json.strigify() 函数,但没有得到任何解决方案。

请您参考如下方法:

尝试这个:

 db = SQLite.openDatabase(database_name, database_version, database_displayname, database_size, this.openCB, this.errorCB); 
 db.transaction((tx) => { 
    tx.executeSql('CREATE TABLE IF NOT EXISTS Inspections( ' 
     + 'id INTEGER PRIMARY KEY NOT NULL, ' 
     + 'inspector_id INTEGER NOT NULL, ' 
     + 'inspection_data TEXT ); ', [], this.successCB, this.errorCB); 
 
     tx.executeSql('INSERT INTO Inspections (inspector_id, inspection_data) VALUES (?,?);', [decoded.uid,formData]); 
});