MYSQL JSON_SET 添加反斜杠

Posted

技术标签:

【中文标题】MYSQL JSON_SET 添加反斜杠【英文标题】:MYSQL JSON_SET adds backslash 【发布时间】:2019-07-04 00:51:39 【问题描述】:

我想更新数据库中的 JSON 数组

我有这个数组:

Array
(
    [id] => 34
    [var1] => val1
    [var2] => val2
    [var3] => val3
)

我需要通过 id 更新 json

查询示例:

JOSN_SET(`json_arr`,'$."34"','"id":"34","var1":"val1","var2":"val2","var3":"val3"')

预期结果:

"34":"id":"34","var1":"val1","var2":"val2","var3":"val3"

结果:

"34":"\"id\":\"34\",\"var1\":\"val1\",\"var2\":\"val2\",\"var3\":\"val3\""

感谢您的帮助。

【问题讨论】:

你是使用 ->> 运算符还是 json_unquote(json_extract()) 来获取结果? 【参考方案1】:

你应该把它转换成 JSON,比如:

JOSN_SET(`json_arr`,'$."34"',CAST('"id":"34","var1":"val1","var2":"val2","var3":"val3"' AS JSON))

【讨论】:

以上是关于MYSQL JSON_SET 添加反斜杠的主要内容,如果未能解决你的问题,请参考以下文章

MySQL中如何插入反斜杠,反斜杠被吃掉,反斜杠转义(转)

尝试在 C# 中添加反斜杠作为 MySql 插入语句的转义

MySQL 中的反斜杠 \,真是太坑了!!

php添加和删除反斜杠

Jackson ObjectMapper writeValueAsBytes方法为已包含反斜杠的字符串添加另一个反斜杠

MySQL 中的反斜杠 \,真是太坑了!!