Entrada JSON

Salida PHP

¿Qué es JSON a PHP?

PHP usa json_decode() para parsear JSON en arrays u objetos. Para acceso tipado, a menudo quieres clases. Esta herramienta genera definiciones de clases PHP desde tu JSON. Úsalas con json_decode() y mapeo manual, o con json_encode() para serialización. La extensión JSON de PHP está integrada. Las propiedades tipadas de PHP 7.4+ y atributos 8.0+ mejoran la seguridad de tipos.

La conversión se ejecuta en tu navegador. Configura el nombre de clase y namespace en la configuración. Activa Propiedades tipadas y Nullable. No se envía nada a ningún servidor.

Cómo usar esta herramienta

1

Pegar JSON

Pega tu JSON o sube un archivo. Configura el nombre de clase y namespace en la configuración. Activa Propiedades tipadas para type hints de PHP 7.4+.

2

Revisar las clases

El panel derecho muestra las clases PHP generadas. Los objetos anidados se convierten en clases separadas. Los arrays obtienen array o array<Type>. Usa json_decode($str, false) para objetos, o mapea a tus clases.

3

Copiar o descargar

Usa <strong>Copiar</strong> o <strong>Descargar</strong>. Pégalo en tu proyecto. Para formatear JSON primero, usa el Formateador JSON. Para validación, usa el Validador JSON.

Ejemplos de JSON a PHP

Aquí un ejemplo de generación de clases PHP desde un objeto JSON.

Ejemplo: Registro de suscriptor

Entrada JSON:

Entrada

Salida PHP generada:

Salida

Cuándo ayuda JSON a PHP

Al integrar APIs REST en Laravel, WordPress o PHP plano, a menudo necesitas clases tipadas para respuestas de API. Pegar una respuesta de ejemplo aquí te da clases PHP para usar con json_decode() y mapeo manual. Para pruebas de API, Postman ayuda. Payloads de webhook, archivos de configuración y exportaciones de base de datos en JSON se benefician del mismo tratamiento. Para extraer valores específicos de respuestas grandes primero, usa jq.

Preguntas frecuentes

¿Propiedades tipadas?

PHP 7.4+ soporta propiedades de clase tipadas. Activar esto te da public string $name; en lugar de sin tipo. Requiere PHP 7.4 o posterior.

¿camelCase vs snake_case?

PHP suele usar snake_case; las APIs JSON usan camelCase. El generador usa las claves JSON tal cual. Añade lógica personalizada o usa una biblioteca que mapee claves.

¿Se envían mis datos a algún sitio?

No. La generación se ejecuta en tu navegador.

¿Tipos nullable?

Activa para campos opcionales. PHP 7.1+ soporta ?Type para nullable. Útil cuando JSON puede omitir un campo.

¿Puedo usar esto con Laravel?

Sí. Las clases generadas funcionan en cualquier lugar. Eloquent de Laravel usa patrones diferentes; para respuestas de API, estos DTOs están bien. Ver la guía JSON de MDN para detalles del formato.

Herramientas relacionadas

PHP JSON, especificación JSON, RFC 8259, MDN, Laravel.