Listo (Ctrl + Enter para ejecutar) Bootcamp Fullstack »
index.html
Tab = 4 espacios
1
<!DOCTYPE html>
<html>
<body>

<h2>JSON en PHP 8.3: Generación y Lectura de APIs</h2>

<?php
// 1. Estructura de datos en PHP (simulando respuesta de base de datos)
$academiaData = [
    "plataforma" => "Kilopolis Academia",
    "version"    => "2.0",
    "timestamp"  => time(),
    "cursos"     => [
        [
            "id"       => 101,
            "titulo"   => "Bootcamp Fullstack: PHP 8.3 & JS Moderno",
            "cupos"    => 25,
            "precio"   => 249.99,
            "activo"   => true
        ],
        [
            "id"       => 102,
            "titulo"   => "Arquitectura de Software y Microservicios",
            "cupos"    => 15,
            "precio"   => 299.00,
            "activo"   => false
        ]
    ]
];

// 2. Serializar a formato JSON (Codificación)
$jsonOutput = json_encode(
    $academiaData, 
    JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE
);

echo "<h4>1. Payload JSON generado con json_encode():</h4>";
echo "<pre style='background:#0f172a; color:#38bdf8; padding:12px; border-radius:6px; font-family:monospace; font-size:0.85rem; overflow:auto;'>";
echo htmlspecialchars($jsonOutput, ENT_QUOTES, 'UTF-8');
echo "</pre>";

// 3. Simulación de consumo: deserializamos la cadena JSON a array asociativo
echo "<hr>";
echo "<h4>2. Datos recuperados y procesados con json_decode(\$json, true):</h4>";

$recuperado = json_decode($jsonOutput, true);

echo "<p>Plataforma origen: <strong>{$recuperado['plataforma']}</strong> (Versión {$recuperado['version']})</p>";
echo "<table border='1' cellpadding='8' cellspacing='0' style='border-collapse:collapse; width:100%; max-width:550px;'>";
echo "<tr style='background:#f1f5f9;'><th>ID</th><th>Título del Curso</th><th>Precio</th><th>Estado</th></tr>";

foreach ($recuperado['cursos'] as $item) {
    $badge = $item['activo'] 
        ? "<span style='color:#16a34a; font-weight:bold;'>Activo</span>" 
        : "<span style='color:#dc2626; font-weight:bold;'>Cerrado</span>";

    echo "<tr>";
    echo "<td>#{$item['id']}</td>";
    echo "<td><strong>{$item['titulo']}</strong></td>";
    echo "<td>\${$item['precio']} USD</td>";
    echo "<td>{$badge}</td>";
    echo "</tr>";
}
echo "</table>";
?>

</body>
</html>
Haz clic para editar este código
Vista Previa
Servidor PHP 8.3