我需要在sqlite中存储以下json消息。但是我无法这样做,因为我的输入消息中有单引号。虽然处理双引号的转义,但单引号仍然会引发错误。怎么解决这个问题?输入消息如下..
'{
"request" : [
{
"name" : "test",
"number" : "8",
"data" : {
"message" : "This is a test 'messa'ge "
}
}
],
"data1" : {
"data2" : 1,
"data3" : "Hello"
},
"message1" : "tes't example"
}'
答案 0 :(得分:0)
ins = db.prepare('insert into table_name (column_name) values (?)')
ins.execute(your_string)
答案 1 :(得分:0)
您的字符串将导致ruby语法错误:
syntax error, unexpected tIDENTIFIER, expecting end-of-input
"message" : "This is a test 'messa'ge "
要创建字符串,您可以使用:
%q [] ,相当于单引号。
%Q [] ,相当于双引号。
您可以使用任何字符作为分隔符,例如。
%q|Dave's head is small.|
%q{Dave's head is small.}
%q=Dave's head is small.=
所以你可以免费创建你的字符串错误,如下所示:
your_string = %q[{
"request" : [
{
"name" : "test",
"number" : "8",
"data" : {
"message" : "This is a test 'messa'ge "
}
}
],
"data1" : {
"data2" : 1,
"data3" : "Hello"
},
"message1" : "tes't example"
}]