Como analisar um arquivo JSON em PHP

Minahil Noor 1 novembro 2020
Como analisar um arquivo JSON em PHP

Neste artigo, vamos introduzir o método para analisar um arquivo JSON em PHP.

  • Utilizando a função file_get_contents()

O conteúdo do arquivo JSON utilizado nos códigos de exemplo é o seguinte.

[
    {
        "id": "01",
        "name": "Olivia Mason",
        "designation": "System Architect"
    },
    {
        "id": "02",
        "name": "Jennifer Laurence",
        "designation": "Senior Programmer"
    },
    {
        "id": "03",
        "name": "Medona Oliver",
        "designation": "Office Manager"
    }
]

Use a função file_get_contents() para analisar um arquivo JSON em PHP

A função embutida file_get_contents() é utilizada para ler um arquivo e armazená-lo em uma string. Ao utilizar esta função, podemos analisar um arquivo JSON em uma string. A sintaxe correta para utilizar esta função é a seguinte.

file_get_contents($pathOfFile, $searchPath, $customContext, $startingPoint, $length);

Esta função aceita cinco parâmetros. Os detalhes destes parâmetros são os seguintes.

Parâmetro Descrição
$pathOfFile obrigatório Ele especifica o caminho do arquivo
$searchPath opcional Especifica o caminho para o arquivo de busca.
$customContext opcional Ele é usado para especificar um contexto personalizado.
$startingPoint opcional Ele especifica o ponto de partida do arquivo de leitura.
$length opcional É o comprimento máximo do arquivo em bytes a ser lido.

O programa a seguir mostra como analisar um arquivo JSON.

<?php
$JsonParser = file_get_contents("myfile.json");
var_dump($JsonParser);
?>

A função file_get_contents() tem apenas analisado os dados JSON armazenados em um arquivo JSON. Não podemos utilizar esses dados diretamente.

Resultado:

string(328) "[
    {
        "id": "01",
        "name": "Olivia Mason",
        "designation": "System Architect"
    },
    {
        "id": "02",
        "name": "Jennifer Laurence",
        "designation": "Senior Programmer"
    },
    {
        "id": "03",
        "name": "Medona Oliver",
        "designation": "Office Manager"
    }
]"

Para tornar estes dados úteis, podemos utilizar json_decode() para converter a string JSON para um array. Utilizando esta função no programa abaixo.

<?php
$Json = file_get_contents("myfile.json");
// Converts to an array 
$myarray = json_decode($Json, true);
var_dump($myarray); // prints array
?>

Resultado:

array(3) {
  [0]=>
  array(3) {
    ["id"]=>
    string(2) "01"
    ["name"]=>
    string(12) "Olivia Mason"
    ["designation"]=>
    string(16) "System Architect"
  }
  [1]=>
  array(3) {
    ["id"]=>
    string(2) "02"
    ["name"]=>
    string(17) "Jennifer Laurence"
    ["designation"]=>
    string(17) "Senior Programmer"
  }
  [2]=>
  array(3) {
    ["id"]=>
    string(2) "03"
    ["name"]=>
    string(13) "Medona Oliver"
    ["designation"]=>
    string(14) "Office Manager"
  }
}

Artigo relacionado - PHP JSON