por eso he pensado que la forma más optima de obtener json seria que la misma bd te devolviera los resultados en dicho formato.
Usando las funciones CONCAT() y GROUP_CONCAT() lograriamos construir el JSON directamente desde la consulta SQL.
Código:
Luego insertaremos unos cuantos registros.CREATE TABLE `user`( `id` int not null auto_increment, `name` varchar(100), `email` varchar(50), PRIMARY KEY(id) ) ENGINE = InnoDB;
Código:
Finalmente realizaremos la consulta que nos traera el JSON.INSERT INTO `user` (`name`, `email`) VALUES ('Cesar', '[email protected]'), ('Maria', '[email protected]'), ('Jose', '[email protected]'), ('Albert','[email protected]');
Código:
resultado:SELECT CONCAT( "[", GROUP_CONCAT( CONCAT("{name:'",`name`,"'"), CONCAT(",email:'",`email`,"'}") ) ,"]") AS json FROM users;
Código:
[ { name : 'Cesar', email: '[email protected]' }, { name : 'Maria', email: '[email protected]' }, { name : 'Jose', email: '[email protected]' }, { name : 'Albert', email: '[email protected]' } ]