Inicio › Herramientas para desarrolladores › De query string a JSON

De query string a JSON

Pega una URL completa o solo el query string y obtén JSON limpio al instante. Se manejan la notación de corchetes como user[name]=Ann, los arrays como tags[]=a&tags[]=b, las claves repetidas y la codificación porcentual, y el convertidor también funciona al revés: JSON de entrada, query string de salida.

Última actualización:

JSON


    Parámetros
    Publicidad
    Publicidad

    Cómo usar De query string a JSON

    1. Elige la dirección: de query string a JSON o de JSON a query string.
    2. Pega tu entrada: funciona una URL completa; se usa la parte después de ? y se ignora el #fragmento.
    3. Elige las opciones: cómo tratar las claves repetidas, la notación de punto, el + como espacio y la detección de tipos.
    4. Consulta el resultado a la derecha; se actualiza mientras escribes. La tabla muestra cada parámetro decodificado.
    5. Copia o descarga el JSON o el query string.

    Sintaxis de query string que entiende este convertidor

    Query stringResultado JSON
    name=Ann&age=31{"name": "Ann", "age": "31"}
    user[name]=Ann&user[city]=Oslo{"user": {"name": "Ann", "city": "Oslo"}}
    tags[]=a&tags[]=b{"tags": ["a", "b"]}
    items[0][id]=7&items[1][id]=9{"items": [{"id": "7"}, {"id": "9"}]}
    color=red&color=blue{"color": ["red", "blue"]} (o el primer/último valor)
    a.b=1 (notación de punto activada){"a": {"b": "1"}}
    q=caf%C3%A9+au+lait{"q": "café au lait"}
    debug (sin =){"debug": ""}

    Reglas de codificación que conviene conocer

    • Codificación porcentual: los caracteres reservados se escriben como % más dos dígitos hexadecimales de sus bytes UTF-8, así que é se convierte en %C3%A9, & en %26 y = en %3D.
    • Espacios: + en la codificación de formularios HTML, %20 en URL genéricas. Un signo más literal debe enviarse como %2B.
    • Corchetes: [ y ] son técnicamente reservados y a menudo se envían como %5B y %5D; los servidores los decodifican antes de analizar las claves anidadas, y esta herramienta también.
    • Todo es una cadena: un query string no tiene tipos. page=2 es el texto "2" hasta que tu código lo convierte.
    • El orden se conserva en la salida JSON exactamente como aparecen los parámetros en la URL.

    Cómo analizar query strings en código

    JavaScript: Object.fromEntries(new URLSearchParams(location.search)) da un objeto plano (gana el último valor, sin anidación). Para corchetes anidados usa la biblioteca qs: qs.parse(str). PHP llena $_GET automáticamente con las mismas reglas de corchetes, urllib.parse.parse_qs de Python devuelve un dict de listas y Ruby on Rails expone params anidados.

    Preguntas frecuentes

    ¿Cómo se convierten los parámetros anidados como user[address][city]?

    Cada segmento entre corchetes se convierte en un nivel de anidación, así que user[address][city]=Paris se convierte en {"user": {"address": {"city": "Paris"}}}. Los corchetes vacíos (tags[]=a) añaden elementos a un array, y los corchetes numéricos (items[0]=x) fijan una posición del array. Es la convención que usan PHP, Ruby on Rails y la biblioteca qs de Node.js.

    ¿Qué pasa con las claves repetidas sin corchetes?

    El estándar de URL permite la misma clave varias veces (color=red&color=blue). De forma predeterminada, esta herramienta las agrupa en un array, como la mayoría de los frameworks de servidor. Puedes cambiar para conservar solo el primer o el último valor, que es lo que devuelven algunos frameworks y URLSearchParams.get().

    ¿Por qué + se convierte en un espacio?

    En el formato application/x-www-form-urlencoded que usan los formularios HTML y los query strings, un espacio se codifica como + y un signo más literal como %2B. Si tu cadena viene de una fuente que codifica los espacios solo como %20 y usa + de forma literal, desactiva la opción + como espacio.

    ¿Los valores se convierten en números o booleanos?

    No de forma predeterminada, porque todos los valores de un query string son texto y "007" o "1e3" cambiarían de significado. Activa Detectar tipos para convertir números simples, true, false y null. Los ceros a la izquierda y los enteros muy grandes se conservan como cadenas.

    ¿Qué formato de array debo usar para pasar de JSON a query string?

    Usa brackets (a[]=1&a[]=2) para PHP, Rails y Express con qs; indices (a[0]=1&a[1]=2) cuando importen el orden o los objetos anidados en arrays; repeat (a=1&a=2) para Python, Go, Java Spring y URLSearchParams; y comma (a=1,2) solo cuando tu API lo documente.

    ¿Se envían mis datos a un servidor?

    No. El análisis y la codificación ocurren por completo en JavaScript en tu navegador, así que las URL que contienen tokens o datos personales nunca salen de tu dispositivo.

    ¿Se prueban todas las herramientas de FreeToolCabin para comprobar su calidad y precisión?

    Sí. Cada herramienta del sitio pasa pruebas automáticas en navegadores reales para comprobar que el resultado es correcto y que no hay errores. Si encuentras un fallo o tienes una sugerencia, escríbenos a [email protected] y lo revisaremos.

    Herramientas relacionadas

    Ver todas las de Conversores de datos y formatos de archivo →