100 % locale — i tuoi dati non lasciano mai il tuo browser

Query string in JSON — incolla l’URL intero

Trasforma una query string di URL in JSON. Incolla pure l’indirizzo intero: i parametri escono come oggetto, leggibile riga per riga.

Istantaneo Privato Zero cookie
Indentazione

Input Query String

Output JSON

Che cosa fa questo strumento

Una query string diventa un oggetto JSON.

?q=json+to+yaml&page=2&tag=a&tag=b
{
  "q": "json to yaml",
  "page": "2",
  "tag": ["a", "b"]
}

+ vale uno spazio e %C3%A9 vale é: la codifica percentuale viene sciolta per te, di solito il motivo per cui sei qui. Una chiave ripetuta diventa un array, nell’ordine in cui i valori sono comparsi.

Incolla l’indirizzo intero

https://x.dev/search?q=ada&lang=it#risultati
{
  "q": "ada",
  "lang": "it"
}

Incollare un URL intero è quello che fanno quasi tutti, e lo strumento faceva una chiave di tutto ciò che precedeva la query: https://x.dev/search?q. Il risultato sembrava un dato ed era privo di senso. Ora l’indirizzo prima del primo punto interrogativo viene scartato, e anche il frammento dopo — nemmeno location.search lo porta. Era un difetto vero, trovato scrivendo questa pagina e corretto.

Un punto interrogativo dentro un valore resta dov’è: a=1?2 dà {"a": "1?2"}, perché il segno che apre una query sta prima del primo =, non dopo.

Tutto è stringa

?id=007&active=true&count=3
{
  "id": "007",
  "active": "true",
  "count": "3"
}

Una query string porta testo. 007 non è 7, true non è un booleano, e un convertitore che indovinasse riscriverebbe in silenzio un identificatore. La tipizzazione sta dalla tua parte, dove sai che count è un numero e che id è un riferimento con i suoi zeri.

Che cosa resta intatto

  • Le chiavi con parentesi. a[]=1 e o[b]=2 tengono a[] e o[b] come nomi. PHP e Rails ci leggono array e oggetti; altre pile no, e la stringa stessa non dice chi l’ha scritta.
  • L’ordine delle chiavi. Escono come sono entrate, prima occorrenza per prima.
  • I valori vuoti. ?a&b= dà {"a": "", "b": ""}: un parametro senza valore è presente, e spesso è proprio questo che vuol dire.

Privato per progettazione

Tutto viene eseguito localmente nel browser con JavaScript. I tuoi dati non vengono mai caricati, quindi lo strumento è sicuro per contenuti sensibili e funziona anche offline.

Domande frequenti

Posso incollare un URL intero?
Sì, da quando è stata scritta questa pagina. Prima, `https://x.dev/p?a=1` dava una chiave chiamata `https://x.dev/p?a`: l’indirizzo davanti alla query ne faceva parte, e il risultato sembrava un dato. Ora viene scartato tutto ciò che precede il primo punto interrogativo, e anche il `#frammento` che segue, esattamente come fa un browser quando riempie `location.search`.
Perché ogni valore è una stringa?
Perché una query string non ha tipi. `?page=2` e `?page=02` sono due stringhe diverse, e la seconda significa qualcosa in parecchie API: un riferimento riempito, una versione. Leggerle entrambe come il numero 2 deciderebbe al posto tuo e perderebbe la differenza. Converti dalla tua parte, dove sai che cos’è il parametro.
E `a[]=1&a[]=2`?
La chiave resta `a[]`, esattamente com’è scritta. Le parentesi quadre sono una convenzione — PHP e Rails ci leggono array, molte altre pile no — e una query string non dice chi l’ha prodotta. Una chiave ripetuta senza parentesi (`a=1&a=2`), invece, diventa un array: è l’unica cosa che la sintassi stessa rende inequivocabile.

Convertitori correlati