我是本机反应的新手。将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()函数,但没有得到任何解决方案。
答案 0 :(得分:2)
尝试一下:
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]);
});