如何在MySQL中将结果表转换为JSON数组
作者:互联网
我想在MySQL中将结果表转换为JSON数组,最好只使用普通的MySQL命令.例如查询
SELECT name, phone FROM person;
| name | phone |
| Jack | 12345 |
| John | 23455 |
预期的JSON输出将是
[
{
"name": "Jack",
"phone": 12345
},
{
"name": "John",
"phone": 23455
}
]
有没有办法在普通的MySQL中做到这一点?
编辑:
有一些答案如何用例如MySQL and PHP,但我找不到纯粹的MySQL解决方案.
解决方法:
新解决方案:
使用您的好评建立,谢谢!
SELECT JSON_ARRAYAGG(JSON_OBJECT('name', name, 'phone', phone)) from Person;
旧解决方案:
在@Schwern的帮助下,我设法提出了这个查询,这似乎有效!
SELECT CONCAT(
'[',
GROUP_CONCAT(JSON_OBJECT('name', name, 'phone', phone)),
']'
)
FROM person;
标签:etl,data-conversion,mysql,json 来源: https://codeday.me/bug/20190926/1821468.html