Javascript SQLite插入到表中,带有JSON.stringyfy。使用带引号的字符串中断
我正在使用SQLite进行移动,主要用于混合移动应用程序开发 我将数据存储到这样一列中Javascript SQLite插入到表中,带有JSON.stringyfy。使用带引号的字符串中断,javascript,json,sqlite,Javascript,Json,Sqlite,我正在使用SQLite进行移动,主要用于混合移动应用程序开发 我将数据存储到这样一列中 var QueryToInsert = JSON.stringify(object) // where object is defined as below INSERT OR REPLACE INTO Table (id,data) VALUES ('1', " ' " + QueryToInsert + " ' " ); 这就变成了 INSERT OR REPLACE INTO Table (id,d
var QueryToInsert = JSON.stringify(object) // where object is defined as below
INSERT OR REPLACE INTO Table (id,data) VALUES ('1', " ' " + QueryToInsert + " ' " );
这就变成了
INSERT OR REPLACE INTO Table (id,data) VALUES ('1','[{"name":"Romeo","lastName":"Juliet"}]')
虽然这是可行的,但如果我有这样一个对象:
var object = {"name": "In connection with this appellative of 'Whalebone Whales' , it is of great..." }
注意字符串中的'
现在如果我这样做了
INSERT OR REPLACE INTO Table (id,data) VALUES ('1', " ' " + JSON.stringify(object) + " ' " );
这给了我一个错误:
{“code”:5,“message”:“near\“whalbone\”:语法错误”}
我尝试过的解决方案:
在进行查询之前,用一些字符替换所有的”
。它确实可以工作,但是当有很多数据和表时,替换所有的“
是一个缓慢的过程
我正在寻找任何能帮助我解决这个问题的解决方案 在SQL中,字符串中的单引号必须通过加倍来转义:
INSERT ... VALUES ('... of ''Whalebone Whales'' ...');
但是,通过使用参数可以更容易地避免此类格式问题:
tx.executeSql("INSERT OR REPLACE INTO Table (id,data) VALUES (?, ?);",
['1', JSON.stringify(object)],
onSuccess, onError);
哦,我的错。我已经删除了我的答案:)谢谢你的澄清。