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

  • Cómo extraer datos de JSON en PHP