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

JSON in query string — pronta per l’URL

Converti un oggetto JSON piatto in una query string di URL. La codifica percentuale è già fatta e gli array diventano chiavi ripetute.

Istantaneo Privato Zero cookie

Input JSON

Output Query String

Che cosa fa questo strumento

Un oggetto JSON piatto diventa la parte di URL che segue il ?.

{ "q": "café au lait", "page": 2 }
q=caf%C3%A9+au+lait&page=2

Il ? non è incluso: di solito incolli questo dietro a uno che hai già.

Gli array diventano chiavi ripetute

{ "tag": ["news", "draft"] }
tag=news&tag=draft

Nessuna norma dice come un array stia in una query string: tag[]=, tag[0]=, un elenco separato da virgole e le chiavi ripetute sono tutti in uso da qualche parte. Le chiavi ripetute sono ciò che URLSearchParams e la maggior parte dei framework server rileggono senza configurazione, e ciò che lo strumento inverso di questo sito riporta ad array.

L’annidamento ferma la conversione

{ "filter": { "status": "open" } }

viene rifiutato, e il messaggio nomina filter. Appiattirlo in filter.status=open o filter[status]=open vorrebbe dire inventare una convenzione; chi riceve deve accettarla, e nulla nel JSON dice quale si aspetta.

I tipi non sopravvivono, e il null meno di tutti

Tutto, in una query string, è testo. 2 e "2" escono identici, true esce in quattro lettere, e tutti tornano come stringhe.

null diventa un valore vuoto:

{ "ref": null }
ref=

che si rilegge come "", non come null. La chiave resta e resta il suo vuoto, ma la distinzione tra niente e testo vuoto è sparita: una query string non ha modo di scriverla. Lo diciamo qui perché è il tipo di perdita che altrimenti si scopre in produzione.

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

Come sono codificati gli array: parentesi o chiavi ripetute?
Chiavi ripetute: `{"tag":["a","b"]}` diventa `tag=a&tag=b`. Nessuna norma regola gli array in una query string, quindi la scelta è tra convenzioni. Questa è ciò che `URLSearchParams` rilegge e ciò che lo strumento inverso di questo sito riporta ad array: la coppia è simmetrica.
Perché il mio spazio è un `+` e non un `%20`?
Perché l’uscita segue la codifica dei moduli, in cui `+` vale spazio. Un decodificatore di moduli li legge allo stesso modo. Uno che decodifica solo i percento no: vede un più letterale. Se la stringa va verso un destinatario simile, sostituisci `+` con `%20` prima di inviarla.
Posso riavere i miei tipi dopo?
No. Una query string porta solo testo: `2`, `true` e `"2"` escono con gli stessi caratteri e tornano come stringhe. Il null è peggio: diventa un valore vuoto, indistinguibile da una stringa vuota. Questa pagina dice dove avviene la perdita invece di tacerla.

Convertitori correlati