Trabalhando com JSON em PHP

Uma das coisas que todo programador sempre vai se deparar ao longo de seus desafios são as estruturas de dados em JSON.

Para quem não conhece, o JSON é uma representação javascript em notação de objeto, ou como o próprio nome diz: javascript object notation – JSON.

Sua principal função é representar estruturas de dados que possam ser facilmente trafegadas entre sistemas. Antigamente uma outra notação conhecida como XML era mais usada. Porém como sua estrutura de dados é muito mais verbosa (possui maior volume de código), ela veio perdendo seu espaço para o formato JSON que possui uma estrutura bem menos verbosa e por isso é bem mais fácil de se entender e manipular.

Para quem não conhece, uma simples estrutura JSON se parece com isso:


{

nome: 'Maickon',

idade: '34',

profissao: 'programador',

descricao: 'Possuo um blog sobre programação '

}

Este simples trecho de informação poderia ter sido extraído de uma base de dados, ou de uma planilha, site externo ou etc. A principal função deste tipo de informação é servir como entrada para outro sistema que venha a trabalhar com estes dados.

Porém este trecho de código foi apenas um exemplo simples. Estruturas JSON podem conter muito mais informações do que isso de forma a serem agrupadas em arrays. Pois ao invés de haver um único dado referente a minha pessoa, o exemplo acima poderia ter 10, 20, 50 pessoa ou mais. Onde todas elas teriam em comum informações como nome, idade, profissão e descrição.

Funções PHP para conversão e leitura de dados em JSON

Para quem trabalha com PHP, a linguagem oferece funções nativas que te permitem converter arrays em JSON e você versa.

Tudo que você precisa fazer em PHP para converter um dado em JSON em array é chamar a função json_decode().

Está função aceita como primeiro parâmetro uma string em formato JSON e como segundo parâmetro um boleano indicando que seu retorno seja em array em caso de true. Por padrão este parâmetro já vem como false e isso faz com que a função retorne um objeto ou invés de um array.

O trecho JSON do exemplo acima, se fosse passado para a função json_decode()  com seu segundo parâmetro true retornaria uma estrutura de array similar a está:


$json = [

'nome' => 'Maickon',

'idade' => '34',

'profissao' => 'Programador ',

'descricao' => 'Possuo um blog sobre programação'

];

A partir do momento em que eu consigo capturar os dados JSON para o meu sistema/script. Eu sou capaz de armazenar estes dados numa variável para poder usa-la posteriormente.

Transformando um array em JSON

O procedimento inverso também é permitido em PHP. Tudo que você precisa fazer é definir uma variável indexada do tipo array para posteriormente chamar a função json_enconde(). Está função será capaz de converter o array numa string literal em JSON.

É muito comum alguns sistemas que fazem uso de APIs, recuperarem certos dados públicos do seu sistema e disponibilizar via formato JSON para outras pessoas usarem.

Observe o mesmo código anterior.


$json = [

    'nome' => 'Maickon',

    'idade' => '34',

    'profissao' => 'Programador',

    'descricao' => 'Possuo um blog sobre programação'

];

Se chamamos a função json_encode($json); passando a variável $json como parâmetro. Nos teremos como resposta a seguinte estrutura JSON.

 
{    
    nome: 'Maickon', 
    idade: '34', 
    profissao: 'programador', 
    descricao: 'Possuo um blog sobre programação'
} 

Eu tenho uma API que fornece dados sobre o resultado dos jogos da loteria. Suas URLs que retornam os jogos em JSON foram construídas usando estas funções nativas do PHP. Se quiser conferir, basta acessa o link abaixo:

API Loterias: Resposta em JSON Megasena

Site oficial: API Loterias

Bem galera, esta foi uma simples explicação sobre o formato JSON e suas principais funções de manipulação via PHP. Espero que tenham gostado e até mais.

Loading