URL

JSON

Cosa fa URL in JSON?

Incolli un URL a sinistra e a destra esce un oggetto JSON con ogni pezzo dell'URL nominato — protocol, host, pathname, searchParams, hash, tutto. L'idea non è guardarlo una volta e passare oltre. L'idea è copiare quel JSON in un posto dove resta — un file di config, una fixture di Jest, un environment di Postman, un manifesto YAML, un mock di richiesta per i tuoi test. Le URL come stringa sono facili da scrivere ma difficili da verificare; gli oggetti strutturati sono l'opposto.

Sotto il cofano è lo stesso algoritmo che ogni browser usa attraverso la URL API, che implementa il WHATWG URL Standard. I parametri di query vengono decodificati lungo la strada — %20 diventa uno spazio, %5B diventa [, le chiavi ripetute si raggruppano in un array JSON — stesso comportamento che ottieni da URLSearchParams. L'output viene poi formattato con le stesse regole di JSON.stringify usate da ogni altro tool JSON di questo sito.

Se vuoi solo guardare le parti di un URL a video — fare debug di un redirect, dare un'occhiata a una catena di tracker — la pagina URL Parser è più adatta. Entrambe le pagine fanno la stessa conversione; questa è pensata per il caso in cui il JSON stesso è l'artefatto che ti tieni. Tutto è locale al tuo browser, niente upload, niente log. La conversione segue la RFC 3986 per la sintassi e la RFC 8259 per l'output JSON.

Come convertire un URL in JSON

Tre passi. Ognuno corrisponde a un pulsante in questa pagina.

1

Incolla un URL o carica l'esempio

Butta un URL nel pannello di sinistra. Clicca Esempio per caricare un URL e-commerce realistico con percent-encoding, chiavi di query ripetute e un fragment. Esempio:

https://api.shop.example.com/v1/orders?customer=Ava%20Chen&status=active&total%5Bgte%5D=49.99&page=2#summary

Tutto ciò che il costruttore URL accetta funziona — <code>http://</code>, <code>https://</code>, <code>file://</code>, <code>mailto:</code>, host IPv6 e userinfo.

2

Leggi l'output JSON

Il pannello di destra si aggiorna mentre scrivi. Vedrai protocol, host, port, pathname, pathSegments (il path spezzato in array), searchParams (coppie chiave-valore decodificate, con array per le chiavi ripetute) e hash. Il campo href contiene la forma canonica e normalizzata dell'URL — utile quando devi verificare che due URL siano equivalenti anche se uno aveva una porta di default o una slash finale.

3

Copia, scarica o minifica per la tua fixture

Clicca Copia per mandare il JSON negli appunti, Scarica per salvarlo come url.json, oppure Minifica per compattarlo su una riga sola per un log o un parametro di query. Cancella sul pannello di input azzera entrambi gli editor.

Quando ti serve davvero

Costruire fixture di richieste HTTP

Quando i tuoi test verificano un URL, farlo come stringa è fragile — case, porte di default, slash finali, ordine dei parametri mordono tutti. Converti l'URL in JSON, metti l'oggetto nella tua fixture e verifica campo per campo. Si sposa bene con librerie come Mock Service Worker o Nock che fanno match sulla forma dell'URL.

Inizializzare client API in file di configurazione

Una config YAML o JSON che salva un URL base come singola stringa costringe ogni consumatore a riparserlo. Salvarlo già scomposto (host, port, basePath, defaultParams) rende la config autodocumentata e cancella un'intera classe di bug del tipo "abbiamo dimenticato la slash finale?". Utile per i generatori di SDK e gli strumenti OpenAPI.

Documentazione di callback OAuth e webhook

Quando scrivi documentazione che mostra "il tuo URL di callback sarà fatto così", offrire un breakdown JSON accanto all'URL grezzo è molto più gentile per chi legge. Standard come la RFC 6749 richiedono parametri di query specifici; una forma strutturata rende ovvio a colpo d'occhio "qui dovresti vedere state".

Export di environment Postman / Bruno / HTTPie

La maggior parte dei client API salva gli URL come oggetti scomposti internamente. Se stai importando URL legacy in una nuova collection — diciamo, migrando da un sito di docs che elenca endpoint come stringhe — convertirli prima in JSON ti permette di scriptare l'import invece di cliccare a mano su 200 endpoint.

Domande frequenti

Che differenza c'è con la pagina URL Parser?

Stesso motore, taglio diverso. URL Parser è per ispezionare — incolli un URL lungo, guardi le parti, decidi cosa non va, chiudi la tab. URL in JSON è per prendere il risultato e usarlo da qualche parte — un file di fixture, una config, un environment di Postman. L'output JSON è identico; sono i testi e i casi d'uso a essere ottimizzati per il flusso "voglio questo in un file".

Perché l'output è JSON e non YAML o un object literal JS?

JSON è il minimo comune denominatore — ogni linguaggio, ogni sistema di config, ogni framework di test lo legge. Se ti serve YAML, passa il JSON nel nostro tool JSON in YAML. Se ti serve un object literal JS, JSON è già JS valido — incollalo direttamente nel tuo file .ts. La conversione segue la RFC 8259, quindi l'output funziona ovunque sia accettato JSON.

Come vengono rappresentate le chiavi di query ripetute?

Le chiavi ripetute si raggruppano in un array. ?tag=red&tag=blue diventa "tag": ["red", "blue"]. È come Express, FastAPI, ASP.NET, Spring e la maggior parte dei framework parsano le query string — ed è quello che restituisce URLSearchParams.getAll().

E gli array in notazione a parentesi quadre, tipo ?items[]=1&items[]=2?

Le parentesi rimangono parte della chiave — vedrai "items[]": ["1", "2"] nell'output. È una rappresentazione fedele dei byte sul filo. Se il tuo framework (PHP, Rails, qs.js) ha bisogno che le parentesi vengano tolte o espanse in un oggetto annidato, fallo in uno step di post-processing sul JSON.

Il JSON include la password se il mio URL ha user:pass@host?

Sì — i campi username e password appariranno nell'output se sono nel tuo URL. La conversione gira tutta nel tuo browser, quindi le credenziali non lasciano mai la tua macchina. Detto questo, mettere credenziali negli URL è in generale una cattiva idea (vedi RFC 3986 §3.2.1), e quasi sicuramente vuoi toglierle prima di committare il JSON in un repo.

Posso convertire una lista di URL in un colpo solo?

Non in questa pagina — ogni sessione converte un URL. Se ne hai cento da elaborare, la via più semplice è incollare la struttura di output di questa pagina in uno script piccolo e fare un loop. Oppure usa il nostro JSON Formatter dopo aver scriptato il batch tu stesso. La conversione batch come funzionalità della UI è in roadmap ma non ancora rilasciata.

Altri strumenti URL e JSON

Convertire è solo un'operazione. Cosa si abbina naturalmente: