Ce que fait cet outil
Une chaîne de requête devient un objet JSON.
?q=json+to+yaml&page=2&tag=a&tag=b
{
"q": "json to yaml",
"page": "2",
"tag": ["a", "b"]
}
+ vaut une espace et %C3%A9 vaut é : le pourcentage-encodage est décodé pour vous, ce qui est souvent la raison de votre venue. Une clé répétée devient un tableau, dans l’ordre où les valeurs sont apparues.
Collez l’adresse entière
https://x.dev/search?q=ada&lang=fr#resultats
{
"q": "ada",
"lang": "fr"
}
Coller une URL entière est ce que font la plupart des gens, et l’outil faisait une clé de tout ce qui précédait la requête : https://x.dev/search?q. Le résultat avait l’air de données et n’avait aucun sens. L’adresse avant le premier point d’interrogation est maintenant écartée, et le fragment qui suit aussi — location.search ne le porte pas davantage. C’était un vrai défaut, trouvé en écrivant cette page puis corrigé.
Un point d’interrogation dans une valeur reste où il est : a=1?2 donne {"a": "1?2"}, le point qui ouvre une requête se trouvant avant le premier =, pas après.
Tout est chaîne
?id=007&active=true&count=3
{
"id": "007",
"active": "true",
"count": "3"
}
Une chaîne de requête porte du texte. 007 n’est pas 7, true n’est pas un booléen, et un convertisseur qui devinerait réécrirait discrètement un identifiant. Le typage est de votre côté, là où vous savez que count est un nombre et que id est une référence avec ses zéros.
Ce qu’on ne touche pas
- Les clés à crochets.
a[]=1eto[b]=2gardenta[]eto[b]pour noms. PHP et Rails y lisent tableaux et objets ; d’autres piles non, et la chaîne elle-même ne dit pas qui l’a écrite. - L’ordre des clés. Elles ressortent comme elles sont entrées, première occurrence d’abord.
- Les valeurs vides.
?a&b=donne{"a": "", "b": ""}— un paramètre sans valeur est présent, et c’est souvent ce qu’il veut dire.
Confidentiel par conception
Tout s’exécute localement dans votre navigateur en JavaScript. Vos données ne sont jamais envoyées sur un serveur, ce qui rend l’outil sûr pour des contenus sensibles, et il fonctionne hors ligne.