Qué hace esta herramienta
Una cadena de consulta se vuelve un objeto JSON.
?q=json+to+yaml&page=2&tag=a&tag=b
{
"q": "json to yaml",
"page": "2",
"tag": ["a", "b"]
}
+ vale un espacio y %C3%A9 vale é: la codificación por porcentajes se decodifica sola, que suele ser el motivo de tu visita. Una clave repetida se vuelve un arreglo, en el orden en que aparecieron los valores.
Pega la dirección entera
https://x.dev/search?q=ada&lang=es#resultados
{
"q": "ada",
"lang": "es"
}
Pegar una URL entera es lo que hace casi todo el mundo, y la herramienta hacía una clave con todo lo que iba delante de la consulta: https://x.dev/search?q. El resultado parecía datos y no tenía sentido. Ahora se descarta la dirección anterior al primer signo de interrogación, y el fragmento posterior también: location.search tampoco lo lleva. Era un defecto real, encontrado al escribir esta página y corregido.
Un signo de interrogación dentro de un valor se queda donde está: a=1?2 da {"a": "1?2"}, porque el signo que abre una consulta va antes del primer =, no después.
Todo es cadena
?id=007&active=true&count=3
{
"id": "007",
"active": "true",
"count": "3"
}
Una cadena de consulta lleva texto. 007 no es 7, true no es un booleano, y un conversor que adivinara reescribiría en silencio un identificador. El tipado va de tu lado, donde sabes que count es un número y que id es una referencia con sus ceros.
Lo que no se toca
- Las claves con corchetes.
a[]=1yo[b]=2conservana[]yo[b]como nombres. PHP y Rails leen ahí arreglos y objetos; otras pilas no, y la cadena misma no dice quién la escribió. - El orden de las claves. Salen como entraron, primera aparición primero.
- Los valores vacíos.
?a&b=da{"a": "", "b": ""}: un parámetro sin valor está presente, y a menudo eso es justo lo que significa.
Privado por diseño
Todo se ejecuta localmente en tu navegador con JavaScript. Tus datos nunca se suben a un servidor, lo que hace que la herramienta sea segura para contenido sensible y funcione sin conexión.