【发布时间】:2021-11-12 10:11:42
【问题描述】:
当我解压缩包含转义双引号字符的压缩字符串时,生成的字符串不包含转义字符 (\) 本身。这对随后对JSONConvert.DeserializeObject的调用造成了严重破坏
例如,如果我调用:
SELECT UNCOMPRESS(COMPRESS("Test\"Me"));
预期结果是
"Test\"Me"
但实际结果是
"Test"Me"
我应该怎么做才能得到我想要的结果?
【问题讨论】:
-
是什么让你说
"Test\"Me"是预期的结果? -
反斜杠只是为了让您能够提供一个内部带有双引号的字符串。如果你打印字符串
"Test\"Me",你会得到Test"Me作为输出。 -
@SalmanA 仅仅因为那是我传入的?
-
您需要学习两种语言(SQL 和 JSON)的字符串基础知识。如果你想在 sql 中“写”字符串
test"me,你可以写成"test\"me"。如果要将相同的字符串转换为 JSON,则不要在数据库中存储反斜杠,而是从 db 中检索字符串,然后使用库或函数将该字符串转换为 JSON。 -
您确实没有将字节
Test\"Me传递给压缩。您将字节Test"Me传递给压缩。
标签: mysql compression escaping