Conversor de JSON a array PHP

Pega un objeto o array JSON y copia código PHP para un archivo de configuración, datos de prueba o un seeder. Los objetos pasan a arrays asociativos, los arrays a listas y las cadenas se entrecomillan y escapan para PHP.

Sintaxis
Sangría

Funciona en tu navegador: nada de lo que escribes se envía a ningún sitio.

Cómo usarlo

  1. Pega el JSON en el cuadro. El ejemplo muestra un objeto con una lista y un objeto anidados.
  2. Elige la sintaxis (corta [] o larga array()), la sangría y si quieres asignar el resultado a $data.
  3. Copia el código PHP. Si el JSON no es válido, verás la línea y la columna del primer error.

Cómo se convierte

JSON PHP
{“key”: value} [‘key’ => value]
[1, 2] [1, 2] como lista
“texto” ‘texto’
12, 1.5 12, 1.5
true, false, null true, false, null
{} o [] []

Las claves siempre van como cadenas entre comillas. Cada elemento ocupa su línea con una coma final, como imprime los arrays var_export().

Ejemplo resuelto

El JSON {"name":"Lucía","tags":["matemáticas","código"],"ok":true,"x":null} se convierte en:

$data = [
    'name' => 'Lucía',
    'tags' => [
        'matemáticas',
        'código',
    ],
    'ok' => true,
    'x' => null,
];

Consejos

  • Los objetos vacíos pasan a [] en PHP, igual que devuelve json_decode con true. Si necesitas distinguir {} de [], decodifica a objetos.
  • Las claves numéricas en texto como “1” se escriben ‘1’; PHP las convierte en claves enteras al crear el array.
  • Los enteros grandes por encima de 2⁵³ pierden precisión al leer el JSON en JavaScript; guarda esos ID como cadenas en el JSON.

Preguntas frecuentes

¿El resultado es igual que json_decode($json, true)?

Sí, tiene la misma forma: los objetos JSON pasan a arrays asociativos, los arrays JSON a listas indexadas, y null, true y false se quedan igual. La diferencia es que obtienes código fuente PHP para pegar, no un valor en tiempo de ejecución.

¿Cómo se escapan las cadenas?

Se escriben entre comillas simples, donde PHP solo interpreta \\ y \' como escapes. Así, una barra invertida pasa a \\ y un apóstrofo a \'. El signo de dólar y los demás caracteres se dejan tal cual, sin interpolar variables. Las tildes y la ñ se conservan en UTF-8.

¿Sintaxis corta [] o larga array()?

La corta funciona en todas las versiones de PHP desde la 5.4 y es la habitual hoy. Elige array() solo para código muy antiguo o si tu guía de estilo lo exige.

¿Por qué hay comas después del último elemento?

Las comas finales son válidas en los arrays de PHP y dejan los diffs más limpios al añadir líneas. var_export() también las escribe.

¿Qué pasa con los números?

Se copian como números: 36 sigue siendo entero y 9.5 decimal. 1.50 se escribe 1.5 y 1e3 como 1000, porque el JSON se lee antes como números. En el código PHP el separador decimal siempre es el punto.

Más en Desarrollo

Todas las herramientas de la categoría: Desarrollo ·Actualizado el 7 de noviembre de 2026

Opciones de privacidad

Google Analytics nos muestra qué herramientas se usan y si funcionan. Puede usar cookies. Tu elección se guarda en este navegador.