Cómo abrir y leer archivos JSON en PHP - Hielo Creativo
Califica este contenido
[Total: 0 Promedio: 0]

JSON es un formato de intercambio de datos muy ligero, su uso hoy en día rivaliza con XML. Dado que se puede utilizar en una gran cantidad de lenguajes, hoy vamos a aprender como hacerlo en PHP de una forma muy fácil (soportado desde la versión 5.2.0) y, con muy pocas líneas de código ¡Manos a la obra!

Preparando el archivo JSON que vamos a utilizar

En la raíz de tu proyecto web, crea un archivo JSON con el nombre: empleados.json. Este es su contenido.

{
    "empleados":{
        "Empleado1":{
            "ID": 1,
            "Nombre": "Juan Camilo Pardo",
            "Ingreso": "2026-08-02",
            "Puesto": "Vendedor"
        },
        "Empleado2":{
            "ID": 2,
            "Nombre": "Johana Peña limón",
            "Ingreso": "2024-04-22",
            "Puesto": "Vendedor"
        },
        "Empleado3":{
            "ID": 3,
            "Nombre": "Gilberto Cañedo López",
            "Ingreso": "2009-09-17",
            "Puesto": "Supervisor"
        }
    }
}

El cual luce así:

Un Árbol JSON en PHP - Hielo Creativo

Recuperando el contenido del archivo JSON

Primero, abrimos un bloque de código PHP.

<?php

Ahora, vamos a cargar nuestro archivo JSON.

$contenido = file_get_contents("empleados.json");

Luego lo codificamos a UTF-8 si es necesario

$con = utf8_encode($contenido);

Luego pasamos el contenido a un arreglo, ya sea codificado a UTF-8:

$datos = json_decode($con, true);

O no codificado.

$datos = json_decode($contenido, true);

Ahora, revisamos cuantos registros hay con la función count.

$hay = count($datos["empleados"]);

Después lo pasamos a otra variable para manejarlo más fácil

$trabajadores = $datos["empleados"];

Ahora, cerramos el bloque PHP.

?>

Nuestro primer bloque de código se ve asi:

<?php
    $contenido = file_get_contents("empleados.json");
    //$con = utf8_encode($contenido); - Sólo si es necesario
    $datos = json_decode($contenido, true);
    $hay = count($datos["empleados"]);
    $trabajadores = $datos["empleados"];
?>

Mostrando el contenido en un tabla HTML

Ahora, insertamos una tabla HTML con títulos, pero con un <tbody>  vacío.

<table>
   <thead>
   <tr>
      <th>ID</th>
      <th>Nombre</th>
      <th>Fecha Ingreso</th>
      <th>Puesto</th>
   </tr>
   </thead>
   <tbody>
   </tbody>
</table>

Dentro del <tbody> abrimos un bloque PHP y con un foreach revisamos cada registro.

<?php
foreach($trabajadores as $empleado){

Dentro del foreach, generamos una fila con <tr> y recuperamos cada columna de los objetos JSON por medio de su identificador. Lo mostramos en un <td> por cada dato que estamos recuperando.

echo "<tr>";
echo "<td>$empleado[ID]</td>";
echo "<td>$empleado[Nombre]</td>";
echo "<td>$empleado[Ingreso]</td>";
echo "<td>$empleado[Puesto]</td>";
echo "</tr>";

Cerramos el foreach y el bloque de código PHP.

 } ?>

Así queda:

<tbody><?php
   foreach($trabajadores as $empleado){
      echo "<tr>";
      echo "<td>$empleado[ID]</td>";
      echo "<td>$empleado[Nombre]</td>";
      echo "<td>$empleado[Ingreso]</td>";
      echo "<td>$empleado[Puesto]</td>";
      echo "</tr>";
   } ?>
</tbody>

Finalmente, mostramos en un párrafo normal, la cantidad de registros que encontramos en nuestro archivo

<p>Empleados en total <strong><?= $hay; ?></strong></p>

Así queda todo el código.

Código PHP para mostrar archivo JSON - Hielo Creativo

Mostrando resultados

Después de todo ese trabajo, así queda el resultado final:

Tabla de datos JSON generada con PHP - Hielo Creativo

Comentarios, dudas y preguntas

¡Y eso es todo! No olvides dejar tus comentarios, dudas y / o preguntas. Con gusto las respondemos.

Califica este contenido
[Total: 0 Promedio: 0]

Entradas relacionadas

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *