में एक एसक्लाइट तालिका में एक जेसन ऑब्जेक्ट कैसे डाल सकता हूं मैं जावास्क्रिप्ट में स्क्लाइट का उपयोग कर कैश को लागू करने की कोशिश कर रहा हूं। मेरे पास एक जेसन ऑब्जेक्ट है कि मैं डेटाबेस में एक स्ट्रिंग और इनपुट में डालने की कोशिश कर रहा हूं लेकिन एक वाक्यविन्यास त्रुटि प्राप्त करना जारी रखता हूं।मैं जावास्क्रिप्ट, फोनगैप (कॉर्डोवा)
तालिका दो क्षेत्रों एक md5 स्ट्रिंग और एक json स्ट्रिंग के होते हैं, मैं db और टेबल heres कैसे परिभाषित
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');
});
इस तरह मैं इनपुट करने के लिए डेटा कोशिश कर रहा हूँ, जहां चर d.data एक जेसन ऑब्जेक्ट है।
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);
कौन सा फेंक और त्रुटि होगा
08-27 23:19:55.702: E/SQLiteLog(29831): (1) near "networks": syntax error
वास्तविक स्ट्रिंग मैं इनपुट करने के लिए tring हूँ इस
08-27 23:19:55.652: D/CordovaLog(29831): {"networks":[{"id":"66","name":"Test"}],"expires":1346138396}
मैं सोच रहा था उस में उद्धरण के साथ कुछ था की तरह लग रहा जेसन स्ट्रिंग लेकिन फ़ील्ड प्रकार सिर्फ टेक्स्ट है इसलिए मुझे यकीन नहीं है कि वाक्यविन्यास त्रुटि क्या हो सकती है।
कोई विचार?