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.