Como ler um arquivo JSON e decodificar para um objeto PHP

Como ler um arquivo JSON e decodificar para um objeto PHP

Muitas vezes precisamos fazer uma consulta em dados presentes em um arquivo JSON, seja para armazenar em banco, mostrar esses valores em nossas páginas ou usar os dados para fazer algum tipo de configuração. Neste artigo vou ensinar como ler dados de um arquivo JSON usando PHP.

Como ler um arquivo JSON com PHP

Para ler um arquivo JSON vamos usar a função file_get_contents para pegar o conteúdo do arquivo data.json e depois a função json_decode para converter a string JSON para um objeto PHP.

Lendo objetos de um arquivo JSON com PHP

Nesse primeiro exemplo temos apenas um objeto JSON com 2 propriedades.

{
  "nome": "Yuri",
  "idade": 28
}
data.json
$json = file_get_contents("data.json");
$data = json_decode($json);

echo $data->nome; // Yuri
echo $data->idade; // 28

Lendo um array de objetos de um arquivo JSON com PHP

Nesse segundo exemplo temos um array com 2 objetos, logo para acessar um objeto precisamos especificar o index, ou usar o foreach para percorrer todo o array.

[
  {
    "nome": "Yuri",
    "idade": 28
  },
  {
    "nome": "Paula",
    "idade": 29
  }
]
data.json
$json = file_get_contents("data.json");
$data = json_decode($json);

/* selecionando um índice específico: */

echo $data[0]->nome; // Yuri
echo $data[0]->idade; // 28

echo $data[1]->nome; // Paula
echo $data[1]->idade; // 29

/* OU usando um foreach para percorrer o array todo: */

foreach ($data as $key => $value) {
    echo $value->nome;
    echo $value->idade;
}

Referências