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