MySQL to JSON no es mas que una manera de ahorrar codificación del lado del servidor y también ayudar a disminuir el tiempo valioso de respuesta.
La manera mas simple y con mejor rendimiento si se quiere trabajar con 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.
Ejemplo
Para este ejemplo construiremos una tabla sencilla de usuarios(para variar)
CREATE TABLE `user`( `id` int not null auto_increment, `name` varchar(100), `email` varchar(50), PRIMARY KEY(id) ) ENGINE = InnoDB;
Luego insertaremos unos cuantos registros.
INSERT INTO `user` (`name`, `email`) VALUES ('Cesar', 'cesar@tednologia.com'), ('Maria', 'maria@gmail.com'), ('Jose', 'j0s3@hotmail.com'), ('Albert','albertpr@yahoo.com');
Finalmente realizaremos la consulta que nos traera el JSON.
SELECT CONCAT( "[", GROUP_CONCAT( CONCAT("{name:'",`name`,"'"), CONCAT(",email:'",`email`,"'}") ) ,"]") AS json FROM users;
resultado:
[ { name : 'Cesar', email: 'cesar@tednologia.com' }, { name : 'Maria', email: 'maria@gmail.com' }, { name : 'Jose', email: 'j0s3@hotmail.com' }, { name : 'Albert', email: 'albertpr@yahoo.com' } ]
[…] How to get MySQL to generate JSON | http://tednologia.com/mysql-to-json/ <blockquote> <pre> SELECT CONCAT( "[", GROUP_CONCAT( CONCAT("{name:'",`name`,"'"), CONCAT(",email:'",`email`,"'}") ) ,"]") AS json FROM users; […]
No falta una coma?
1. SELECT
2. CONCAT( “[“,
3. GROUP_CONCAT(
4. CONCAT(“{name:'”,`name`,”‘”),
5. CONCAT(“,email:'”,`email`,”‘},”) **
6. )
7. ,”]”)
8. AS json FROM users;
genial!!! me gusto el tutorial aun que actualmente existe json_encode y json_decode esta es una manera ingeniosa de realizar un json directamente desde la db
Comments are closed.