Estoy tratando de implementar una memoria caché usando sqlite en javascript. Tengo un objeto json que intento convertir en una cadena e ingresar en la base de datos pero sigo obteniendo un error de sintaxis.Cómo puedo insertar un objeto json en una tabla sqlite en javascript, phonegap (cordova)
la mesa consta de dos campos de una cadena MD5 y una cadena JSON, aquí está cómo definir el PP y mesa
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');
});
Esta es la forma en que estoy tratando de introducir los datos en la variable d.data es un objeto 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);
Qué va a tirar y error
08-27 23:19:55.702: E/SQLiteLog(29831): (1) near "networks": syntax error
La cadena real Estoy Tring para la entrada se parece a esto
08-27 23:19:55.652: D/CordovaLog(29831): {"networks":[{"id":"66","name":"Test"}],"expires":1346138396}
Estaba pensando que tenía algo que ver con las citas de la cadena json, pero el tipo de campo es solo texto, por lo que no estoy seguro de cuál podría ser el error de sintaxis.
¿Alguna idea?