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"
}
}