如何在MYSQL中将结果集转换为Json

时间:2017-07-18 07:20:24

标签: mysql

select id,name,age from person where id=1;

此查询提供如下结果

id | name | age
1  |manoj | 20

我想要一个类似下面的JSON

"{"id":1,"name":"manoj","age":5}"

我想要一个动态的方式。当我从另一个表中尝试另一个查询时,结果就像之前的JSON一样

我想从表中生成JSON并存储到MYSQL中的列中,我不想使用php或其他服务器端语言来生成此JSON。

如何在MYSQL中获取JSON?

2 个答案:

答案 0 :(得分:2)

使用JSON_OBJECT()功能:

SELECT JSON_OBJECT('id', id, 'name', name, 'age', age)
FROM person
WHERE id = 1;

这至少需要MySQL 5.7或MariaDB 10.2.3,即所有与JSON相关的功能都已添加。

如果您不想将列名硬编码到查询中,则需要编写一个创建动态SQL的存储过程,使用INFORMATION_SCHEMA.COLUMNS获取所有列名。

答案 1 :(得分:0)

查看JSON数据类型和JSON函数。如果column是JSON数据类型并且insert字符串是JSON格式,那么它也很容易插入和检索。

MySQL JSON data type

JSON functions