Ionic 2 importJsonToDb()转义字符
我正在尝试使用cordova sqlite porter将一些JSON数据批量导入到Ionic 2应用程序的数据库中。它几乎可以正常工作,但我无法转义字符Ionic 2 importJsonToDb()转义字符,json,sqlite,cordova,ionic2,escaping,Json,Sqlite,Cordova,Ionic2,Escaping,我正在尝试使用cordova sqlite porter将一些JSON数据批量导入到Ionic 2应用程序的数据库中。它几乎可以正常工作,但我无法转义字符“和” let sqlJsonBlock = '{"data":{"inserts":{' + '"TABLENAME":[{' + '"LABEL":"Here are some "Characters"",' + '"ID":11,' + '"NUMBER":"0004"' +
“
和”
let sqlJsonBlock = '{"data":{"inserts":{'
+ '"TABLENAME":[{'
+ '"LABEL":"Here are some "Characters"",'
+ '"ID":11,'
+ '"NUMBER":"0004"'
+ '}]'
+ '}}};'
this.sqliteporter.importJsonToDb( db, JSON.parse(sqlJsonBlock) );
因此,单词字符应该使用引号导入,但不会。我尝试了对字符进行双转义,如“Characters”“
,或使用前导斜杠,如“Characters\”
,或两者都使用“Characters\”
,但似乎没有任何效果
有人知道如何在JSON中转义这些字符以将它们导入SQLite DB吗
编辑:
我将测试数据包装在某个真正的JSON对象中,并成功地导入了它,但转义字符也被导入到了数据库中。因此,在再次选择数据后,我得到了一个字符串,如这里有一些\“字符\“
。因此,这也不起作用。如果您查看插件的中,您将看到一些插件希望在JSON结构中转义引号(和其他特殊字符)的示例,例如:
"Title": "Up An' Atom",
"Composer": "Enotris Johnson/Little Richard/Robert \"Bumps\" Blackwell",
"Name": "Cavalleria Rusticana \\ Act \\ Intermezzo Sinfonico",
因此,在您的示例中,它应该是:
let sqlJsonBlock = '{"data":{"inserts":{'
+ '"TABLENAME":[{'
+ '"LABEL":"Here are some \"Characters\"",'
+ '"ID":11,'
+ '"NUMBER":"0004"'
+ '}]'
+ '}}};'
this.sqliteporter.importJsonToDb( db, sqlJsonBlock);
注意:您不需要解析JSON字符串,因为插件将为您解析JSON字符串
但只定义JSON对象文字会更容易:
let sqlJsonBlock = {
"data":{
"inserts":{
"TABLENAME":[{
"LABEL":"Here are some \"Characters\"",
"ID":11,
"NUMBER":"0004"
}]
}
}
};
this.sqliteporter.importJsonToDb( db, sqlJsonBlock);
我真的试过了,但没用。导入数据时没有转义引号,当我添加您提到的引号时,什么也没有发生。甚至没有报告错误。单引号
“
可以通过这种方式转义,但双引号不能。