Hace poco descubrí que se pueden devolver las consultas MySQL en json y la verdad es que es bastante sencillo. Hay que usar la función JSON_OBJECT. Voy a poner varios ejemplos para entenderlo mejor:
El siguiente ejemplo muestra un listado de las ciudades con la clave ciudad y el valor del campo "ciudad" de la tabla "ciudades"
SELECT JSON_OBJECT('Ciudad', ciudad) AS 'Result' FROM ciudades; RESULTADO {"Ciudad": "Barcelona"} {"Ciudad": "Burgos"} ... {"Ciudad": "Zaragoza"}
Si se quieren poner valores vacíos hay que hacerlo como el siguiente ejemplo:
SELECT JSON_OBJECT('Ciudad','','Población',poblacion) AS 'Result' FROM ciudades; RESULTADO {"Ciudad": "","poblacion":545458} {"Ciudad": "","poblacion":454} ... "Ciudad": "","poblacion":5458}
Si se quieren poner valores NULL hay que hacerlo como el siguiente ejemplo:
SELECT JSON_OBJECT('Ciudad',NULL,'Población',poblacion) AS 'Result' FROM ciudades; RESULTADO {"Ciudad": NULL,"poblacion":545458} {"Ciudad": NULL,"poblacion":454} ... "Ciudad": NULL,"poblacion":5458}
Los ejemplos son sencillitos pero es para entender de forma sencilla la funcionalidad de la función JSON_OBJECT de MySQL.