MySQL JSON_SEARCH和JSON_REPLACE不会转义引号

时间:2017-07-03 18:45:28

标签: java mysql json escaping

我在MySQL数据库中有一个JSON列。我尝试使用

替换另一个JSON对象
UPDATE table SET ColName = JSON_REPLACE(ColName, '{"sample": "sample"}');

执行此语句后,MySQL正在插入\"转义我的JSON属性周围的引号,如下所示:

  

{\"示例\":\"示例\"}

这导致我的JSON_SEARCH查询无法找到" sample"由于逃脱报价。有没有一种方法可以使用JSON_REPLACE而无需在双引号中添加转义符?

我尝试在更新声明中围绕JSON_REPLACE包装JSON_UNQUOTE,这确实没有解决问题。

1 个答案:

答案 0 :(得分:0)

wchiquito的回答有效

“尝试... CAST('{"sample": "sample"}' AS JSON) ...

如果您发布答案,我可以更改您的评论的接受答案。