将 MariaDB 中的行转换为 json 数组

Convert rows in MariaDB to json array

我试图在 MariaDB - 10.4.22-MariaDB 中 运行 这个 SQL:

SELECT CONCAT( '[', GROUP_CONCAT( JSON_ARRAY( name ) ), ']' ) FROM `mytable`;

但我会得到这个:

[["ith1,"],["ith2"],..]

我需要在没有括号的情况下得到它,所以我只得到基本数组:

["ith1,","ith2",..]

我也试过只使用GROUP_CONCAT,但是如果分隔符也在文本中,那么整个数组就会被破坏。

示例数据:

ID Name
1 Football, boys "first group"
2 Football, girls "first group"
3 Streetball

谢谢!

GROUP_CONCAT()

中使用JSON_QUOTE()
SELECT CONCAT('[', GROUP_CONCAT(JSON_QUOTE(name)), ']') FROM test3;

DEMO