Jaime Neto | desenvolvimento para web

out/17

25

Retornando JSON no PostgreSQL


Uma funcionalidade muito útil do banco de dados PostgreSQL, e que muita gente não conhece, é transformar um conjunto de dados no formato JSON. Esse formato é muito utilizado atualmente para comunicação entre serviços, alimentação de dados em grid, e várias outras funcionalidades. Alguns bancos usam funções que convertem os registros para JSON, mas o PostgreSQL tem uma forma muito mais prática, como veremos nos exemplos a seguir:

Digamos que eu queira a lista de posts de um site para ser exibida em um grid. Se fizer a query seguinte, eu terei essa lista como result set:
SELECT * FROM posts
Mas o grid precisa receber essa lista no formato JSON, então eu teria que converter os resultados antes de passar para o grid, ou posso fazer a consulta da seguinte forma:
SELECT p FROM posts AS p

Agora vamos melhorar essa query. Eu quero fazer uma consulta normal nos posts, e quero trazer na mesma consulta os dados do usuário que cadastrou cada post numa única coluna JSON:
SELECT p.*, u AS user_data
FROM posts AS p
JOIN users AS u ON u.id = p.user_id

Ou seja, basta você pôr o alias da tabela na lista de colunas que você deseja retornar no resultado, e o PostgreSQL transforma aquele conjuntos de dados em um JSON.
Essa funcionalidade pode ser usada de diversas formas, e pode resolver diversos problemas, ou apenas agilizar os processos de conversão de dados para usos específicas, e merece ser explorada mais afundo nos dias de hoje em que o JSON vem ganhando tanto espaço, substituindo inclusive o XML, que antes dominava essa área.

^__~

·

No comments yet.

Leave a Reply

>>

Theme Design by devolux.nh2.me