MySQL to JSON

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@craftyman.net'),
('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@craftyman.net'
    },
    {
        name : 'Maria',
        email: 'maria@gmail.com'
    },
    {
        name : 'Jose',
        email: 'j0s3@hotmail.com'
    },
    {
        name : 'Albert',
        email: 'albertpr@yahoo.com'
    }
]
Tags:  

 

Posteado el: 11/02/2009  por: Craftyman

Post Relacionados

Comentarios