1
2
3
4
5
6
7
8
9
10
SELECT sub_name,
CONCAT('[',
GROUP_CONCAT(
CONCAT('{"name":"', sub_name, '",'),
CONCAT('"id":"', id, '"}')),
']') AS child
FROM secret
WHERE 1 = 1
GROUP BY sub_name
limit 0, 10

这样 MySQL 返回的 child 值是一个字符串,在代码中转成需要的格式

1
2
3
for (JSONObject child : items) {
child.put("child", JSON.parseArray(child.getString("child")));
}