URL

JSON

Vad gör URL till JSON?

Du klistrar in en URL till vänster och till höger får du ett JSON-objekt där varje del av URLen är namngiven — protocol, host, pathname, searchParams, hash, allt. Poängen är inte att titta en gång och gå vidare. Poängen är att kopiera den JSON till en plats där den får leva — en konfigurationsfil, en Jest-fixture, en Postman-miljö, ett YAML-manifest, en request-mock för dina tester. URLer som strängar är lätta att skriva men jobbiga att asserta mot; strukturerade objekt är raka motsatsen.

Under huven är det samma algoritm som varje webbläsare använder via URL API, som implementerar WHATWG URL Standard. Queryparametrarna avkodas på vägen — %20 blir ett mellanslag, %5B blir [, upprepade nycklar samlas i en JSON-array — samma beteende du får från URLSearchParams. Utdatan formateras sedan med samma JSON.stringify-regler som varje annat JSON-verktyg på sajten använder.

Vill du bara titta på delarna av en URL på skärmen — debugga en redirect, ögna igenom en tracker-kedja — passar sidan URL Parser bättre. Båda sidorna kör samma konvertering; den här är ramad för fallet där JSONen i sig är artefakten du sparar. Allt är lokalt i din webbläsare, ingen uppladdning, inga loggar. Konverteringen följer RFC 3986 för syntax och RFC 8259 för JSON-utdata.

Så konverterar du en URL till JSON

Tre steg. Vart och ett motsvarar en knapp på sidan.

1

Klistra in en URL eller ladda exemplet

Släpp en URL i vänsterpanelen. Klicka på Exempel för att ladda en realistisk e-handels-URL med procent-kodning, upprepade query-nycklar och ett hash-fragment. Exempel:

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

Allt URL-konstruktorn accepterar fungerar — <code>http://</code>, <code>https://</code>, <code>file://</code>, <code>mailto:</code>, IPv6-hostar och userinfo.

2

Läs JSON-utdatan

Högerpanelen uppdateras medan du skriver. Du ser protocol, host, port, pathname, pathSegments (sökvägen uppdelad i en array), searchParams (avkodade nyckel-värde-par, med arrays för upprepade nycklar) och hash. Fältet href bär URLens kanoniska, normaliserade form — användbart när du vill verifiera att två URLer är ekvivalenta även om en hade en standardport eller avslutande snedstreck.

3

Kopiera, ladda ner eller minifiera till din fixture

Klicka på Kopiera för att skicka JSONen till urklipp, Ladda ner för att spara den som url.json, eller Minifiera för att kläma in den på en rad inför en loggrad eller en queryparameter. Rensa i indatapanelen nollställer båda editorerna.

När det här faktiskt kommer till nytta

Bygga fixtures för HTTP-requests

När dina tester asserterar mot en URL är assertion mot en sträng skör — versaler, standardportar, avslutande snedstreck och parameterordning biter alla. Konvertera URLen till JSON, lägg objektet i din fixture och assertera fält för fält. Spelar fint ihop med bibliotek som Mock Service Worker eller Nock som matchar på URL-form.

Seeda API-klienter i konfigurationsfiler

En YAML- eller JSON-config som lagrar en bas-URL som en enda sträng tvingar varje konsument att parsa om den. Att lagra den färdigdelad (host, port, basePath, defaultParams) gör configen självdokumenterande och tar bort en hel klass av "glömde vi avslutande snedstreck"-buggar. Användbart för SDK-generatorer och OpenAPI-tooling.

Dokumentation av OAuth- och webhook-callbacks

När du skriver dokumentation som visar "din callback-URL kommer att se ut så här" är det mycket vänligare mot läsaren att skicka med en JSON-uppdelning bredvid den råa URLen. Standarder som RFC 6749 kräver specifika queryparametrar; en strukturerad form gör "här ska du se state" uppenbart i en blick.

Postman-/Bruno-/HTTPie-miljöexporter

De flesta API-klienter lagrar URLer som uppdelade objekt internt. Om du importerar äldre URLer till en ny collection — säg, migrerar från en docs-sida som listar endpoints som platta strängar — låter konvertering till JSON dig skripta importen istället för att klicka manuellt på 200 endpoints.

Vanliga frågor

Hur skiljer sig det här från sidan URL Parser?

Samma motor, annan inramning. URL Parser är till för att inspektera — du klistrar in en lång URL, tittar på delarna, bestämmer vad som är fel och stänger fliken. URL till JSON är till för att ta resultatet och använda det någon annanstans — en fixture-fil, en config, en Postman-miljö. JSON-utdatan är identisk; det är texten och användningsfallen som är inställda för "jag vill ha det här i en fil"-flödet.

Varför är utdatan JSON istället för YAML eller en JS-objektliteral?

JSON är minsta gemensamma nämnaren — alla språk, alla configsystem och alla testramverk läser det. Behöver du YAML, kör JSONen genom vårt verktyg JSON till YAML. Behöver du en JS-objektliteral är JSON redan giltig JS — klistra in det i din .ts-fil. Konverteringen följer RFC 8259 så utdatan fungerar överallt där JSON accepteras.

Hur representeras upprepade query-nycklar?

Upprepade nycklar samlas i en array. ?tag=red&tag=blue blir "tag": ["red", "blue"]. Det är så Express, FastAPI, ASP.NET, Spring och de flesta ramverk parsar query strings — och det är vad URLSearchParams.getAll() returnerar.

Och arrays i hakparentesnotation, som ?items[]=1&items[]=2?

Hakparenteserna behålls som del av nyckeln — du ser "items[]": ["1", "2"] i utdatan. Det är en trogen representation av byten på tråden. Om ditt ramverk (PHP, Rails, qs.js) behöver att hakparenteserna stripas eller expanderas till ett nästlat objekt, gör det i ett efterbehandlingssteg på JSONen.

Innehåller JSONen lösenordet om min URL har user:pass@host?

Ja — fälten username och password dyker upp i utdatan om din URL har dem. Konverteringen körs helt i din webbläsare, så uppgifterna lämnar aldrig din maskin. Som sagt, att lägga in inloggningsuppgifter i URLer är generellt en dålig idé (se RFC 3986 §3.2.1), och du vill nästan säkert ta bort dem innan du commitar JSONen till ett repo.

Kan jag konvertera en lista med URLer i ett svep?

Inte på den här sidan — varje session konverterar en URL. Om du har hundra URLer att processa är enklast att klistra in den här sidans utdatastruktur i ett litet skript och loopa. Eller använd vårt JSON Formatter efter att du själv skriptat batchen. Batchkonvertering som UI-funktion ligger på roadmappen men är inte släppt än.

Andra URL- och JSON-verktyg

Konvertering är bara en operation. Det här passar naturligt ihop med den: