Cómo analizar un archivo JSON en PHP

Minahil Noor 25 junio 2020
Cómo analizar un archivo JSON en PHP

En este artículo, presentaremos el método para analizar un archivo JSON en PHP.

  • Uso de la función file_get_contents()

El contenido del archivo JSON utilizado en los códigos de ejemplo es el siguiente.

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

Usando la función file_get_contents() para analizar un archivo JSON en PHP

La función incorporada file_get_contents() se usa para leer un archivo y almacenarlo en una cadena. Al usar esta función, podemos analizar un archivo JSON en una cadena. La sintaxis correcta para usar esta función es la siguiente.

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

Esta función acepta cinco parámetros. El detalle de estos parámetros es el siguiente.

Parámetro Descripción
$pathOfFile obligatorio Especifica la ruta del archivo
$searchPath Opcional Especifica la ruta para buscar el archivo.
$customContext Opcional Se utiliza para especificar un contexto personalizado.
$startingPoint Opcional Especifica el punto de partida del archivo de lectura.
$length Opcional Es la longitud máxima del archivo en bytes a leer.

El siguiente programa muestra cómo analizar un archivo JSON.

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

La función file_get_contents() solo ha analizado los datos JSON almacenados en un archivo JSON. No podemos usar estos datos directamente.

Producción :

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 que estos datos sean útiles, podemos usar json_decode() para convertir la cadena JSON en un array. Usando esta función en el siguiente programa.

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

Producción :

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

Artículo relacionado - PHP JSON