Próbuję zaimplementować pamięć podręczną przy użyciu sqlite w javascript. Mam obiekt Json, który próbuję rzucić na ciąg znaków i wprowadzić do bazy danych, ale nadal otrzymuję błąd składni.Jak mogę wstawić obiekt json do tabeli sqlite w javascript, phonegap (cordova)
tabela składa się z dwóch pól ciąg MD5 i ciąg json, herezje jak zdefiniować db i stół
db = window.openDatabase("Database", "1.0", "Cordova Demo",10485760);
db.transaction(function(tx){
tx.executeSql('DROP TABLE IF EXISTS CACHE_DATA');
tx.executeSql('CREATE TABLE IF NOT EXISTS CACHE_DATA (md5 TEXT UNIQUE, data TEXT)');
},function(tx,error){
console.log('tx error: ' + error);
},function(){
console.log('tx success');
});
ten sposób staram się wprowadzić dane gdzie zmienna d.data jest obiektem json.
var jsonString = JSON.stringify(d.data, null, '');
db.transaction(function(tx){
tx.executeSql('INSERT OR REPLACE INTO CACHE_DATA (md5, data) VALUES ("'+hash+'", "'+jsonString+'")');
},function(tx,error){
console.log(JSON.stringify(tx.message));
console.log(JSON.stringify(error));
},function(){
console.log('tx success');
});
console.log(jsonString);
Która rzuci i błędów
08-27 23:19:55.702: E/SQLiteLog(29831): (1) near "networks": syntax error
Rzeczywiste ciąg jestem tring wejście wygląda to
08-27 23:19:55.652: D/CordovaLog(29831): {"networks":[{"id":"66","name":"Test"}],"expires":1346138396}
myślałem że miał coś wspólnego z cytatów ciąg json, ale typ pola jest po prostu tekstem, więc nie jestem pewien, jaki może być błąd składni.
Wszelkie pomysły?