在 json 函数 mysql 中转义双引号
Escape double quotes in json functions mysql
我知道它应该很简单,但我不知道如何转义 mysql 查询中的双引号以进行 json 操作。
我有以下例子:
SET @j = '{"4": 1, "0as@x"" : [1, 2, 3, 4], "b": [2, 3]}';
请注意第二个key里面的双引号:0as@x"
如果我运行这个查询:SELECT JSON_ARRAY_APPEND(@j, '$."0as@x\"', '2');
我收到以下错误:
Error Code: 3141. Invalid JSON text in argument 1 to function json_array_append: "Missing a colon after a name of object member." at position 16.
我只想知道如何转义 json 对象键的变量名中的双引号。
我也试过用两个反斜杠将引号 """
加倍 \"
...
你能帮帮我吗?
谢谢!
稍后编辑
在 set 语句中,我用 \"
转义了双引号。如果你使用JSON_OBJECT
.
,这是在后面完成的
最后我用 \
双引号转义了,它成功了。
有效的最终代码:
SET @j = JSON_OBJECT('4', 1, '0as@x"', '[1, 2, 3, 4]', 'b', '[2, 3]');
SELECT JSON_ARRAY_APPEND(@j, '$."0as@x\""', 2);
使用JSON_OBJECT函数构建对象,这样:
SET @j = JSON_OBJECT('4', 1, '0as@x"', '[1, 2, 3, 4]', 'b', '[2, 3]');
然后函数(键名周围没有额外的引号):
SELECT JSON_ARRAY_APPEND(@j, '$.0as@x"', 2);
希望对您有所帮助。
我知道它应该很简单,但我不知道如何转义 mysql 查询中的双引号以进行 json 操作。
我有以下例子:
SET @j = '{"4": 1, "0as@x"" : [1, 2, 3, 4], "b": [2, 3]}';
请注意第二个key里面的双引号:0as@x"
如果我运行这个查询:SELECT JSON_ARRAY_APPEND(@j, '$."0as@x\"', '2');
我收到以下错误:
Error Code: 3141. Invalid JSON text in argument 1 to function json_array_append: "Missing a colon after a name of object member." at position 16.
我只想知道如何转义 json 对象键的变量名中的双引号。
我也试过用两个反斜杠将引号 """
加倍 \"
...
你能帮帮我吗?
谢谢!
稍后编辑
在 set 语句中,我用 \"
转义了双引号。如果你使用JSON_OBJECT
.
最后我用 \
双引号转义了,它成功了。
有效的最终代码:
SET @j = JSON_OBJECT('4', 1, '0as@x"', '[1, 2, 3, 4]', 'b', '[2, 3]');
SELECT JSON_ARRAY_APPEND(@j, '$."0as@x\""', 2);
使用JSON_OBJECT函数构建对象,这样:
SET @j = JSON_OBJECT('4', 1, '0as@x"', '[1, 2, 3, 4]', 'b', '[2, 3]');
然后函数(键名周围没有额外的引号):
SELECT JSON_ARRAY_APPEND(@j, '$.0as@x"', 2);
希望对您有所帮助。