MySQL 使用普通命令将结果表转换为 JSON 数组
在 MySQL 中,可以将结果表转换为 JSON 数组使用内置函数。考虑以下查询:
SELECT name, phone FROM person;
返回以下结果表:
name | phone |
---|---|
Jack | 12345 |
John | 23455 |
新解决方案:
利用 JSON_ARRAYAGG 和 JSON_OBJECT,以下查询实现所需的 JSON输出:
SELECT JSON_ARRAYAGG(JSON_OBJECT('name', name, 'phone', phone)) from Person;
JSON_ARRAYAGG 函数将多个 JSON 对象聚合到一个数组中,而 JSON_OBJECT 函数则使用指定的键值对创建一个对象。
旧解决方案:
或者,您可以使用 CONCAT、GROUP_CONCAT 和JSON_OBJECT 函数用于构造 JSON 数组:
SELECT CONCAT( '[', GROUP_CONCAT(JSON_OBJECT('name', name, 'phone', phone)), ']' ) FROM person;
CONCAT 函数连接字符串,GROUP_CONCAT 将 JSON 对象聚合到逗号分隔的列表中,JSON_OBJECT 创建单个对象。
以上是如何使用普通 SQL 命令将 MySQL 结果表转换为 JSON 数组?的详细内容。更多信息请关注PHP中文网其他相关文章!