URL naar JSON
Zet elke URL om in een gestructureerd JSON-object — klaar om in een config, fixture of test te zetten
URL
JSON
Wat doet URL naar JSON?
Je plakt links een URL, en rechts verschijnt een JSON-object waarin elk stuk van de URL een naam heeft — protocol, host, pathname, searchParams, hash, alles. Het is niet bedoeld om er één keer naar te kijken en weer door te gaan. Het is bedoeld om die JSON over te zetten naar een plek waar hij blijft staan — een config-bestand, een Jest-fixture, een Postman-environment, een YAML-manifest, een request-mock voor je tests. URL-strings zijn makkelijk te typen maar lastig om assertions op te doen; gestructureerde objecten zijn precies andersom.
Onder de motorkap is het hetzelfde algoritme dat elke browser gebruikt via de URL API, die de WHATWG URL Standard implementeert. Queryparameters worden onderweg gedecodeerd — %20 wordt een spatie, %5B wordt [, herhaalde sleutels worden samengevoegd in een JSON-array — hetzelfde gedrag dat URLSearchParams geeft. De uitvoer wordt vervolgens geformatteerd met dezelfde JSON.stringify-regels die elk ander JSON-tool op deze site gebruikt.
Wil je alleen de stukken van een URL op het scherm bekijken — een redirect debuggen, een tracker-keten doornemen — dan past URL Parser beter. Beide pagina's doen dezelfde conversie; deze is gericht op het geval waarin de JSON zelf het artefact is dat je bewaart. Alles draait lokaal in je browser, geen upload, geen logs. De conversie volgt RFC 3986 voor de syntaxis en RFC 8259 voor de JSON-uitvoer.
Hoe je een URL omzet naar JSON
Drie stappen. Elke stap hoort bij een knop op deze pagina.
Plak een URL of laad het voorbeeld
Drop een URL in het linker paneel. Klik op Voorbeeld om een realistische e-commerce URL te laden met percent-encoding, herhaalde querysleutels en een hash-fragment. Voorbeeld:
https://api.shop.example.com/v1/orders?customer=Ava%20Chen&status=active&total%5Bgte%5D=49.99&page=2#summaryAlles wat de URL-constructor accepteert, werkt — <code>http://</code>, <code>https://</code>, <code>file://</code>, <code>mailto:</code>, IPv6-hosts en userinfo.
Lees de JSON-uitvoer
Het rechter paneel werkt bij terwijl je typt. Je ziet protocol, host, port, pathname, pathSegments (het pad opgesplitst in een array), searchParams (gedecodeerde sleutel/waarde-paren, met arrays voor herhaalde sleutels) en hash. Het veld href bevat de canonieke, genormaliseerde vorm van de URL — handig wanneer je moet vaststellen dat twee URLs gelijk zijn ook al had de ene een standaardpoort of een trailing slash.
Kopieer, download of minify voor je fixture
Klik op Kopiëren om de JSON naar het klembord te sturen, op Downloaden om hem op te slaan als url.json, of op Minify om hem voor een logregel of queryparameter op één regel te zetten. Wissen in het invoerpaneel reset beide editors.
Wanneer dit echt van pas komt
Fixtures bouwen voor HTTP-requests
Wanneer je tests asserties doen op een URL, is een string-vergelijking broos — hoofdletters, standaardpoorten, trailing slashes en de volgorde van parameters bijten allemaal. Zet de URL om naar JSON, gooi het object in je fixture en assert per veld. Werkt netjes samen met libraries als Mock Service Worker of Nock die op URL-vorm matchen.
API-clients seeden in config-bestanden
Een YAML- of JSON-config die een base-URL als één string opslaat, dwingt iedere consument om hem opnieuw te parsen. Hem alvast ontleed opslaan (host, port, basePath, defaultParams) maakt de config zelf-documenterend en maakt een hele klasse "vergeten we de trailing slash"-bugs onmogelijk. Handig voor SDK-generators en OpenAPI-tooling.
Documentatie van OAuth- en webhook-callbacks
Als je documentatie schrijft die laat zien "je callback-URL ziet er ongeveer zo uit", is een JSON-uitsplitsing naast de ruwe URL veel vriendelijker voor de lezer. Standaarden als RFC 6749 vereisen specifieke queryparameters; in gestructureerde vorm springt "hier moet je state zien" er meteen uit.
Postman / Bruno / HTTPie environment-exports
De meeste API-clients slaan URLs intern op als ontlede objecten. Importeer je legacy-URLs in een nieuwe collection — bijvoorbeeld bij migratie vanaf een docs-site die endpoints als platte strings opsomt — dan kun je ze eerst naar JSON converteren en de import scripten in plaats van handmatig op 200 endpoints te klikken.
Veelgestelde vragen
Wat is het verschil met de URL Parser-pagina?
Zelfde motor, andere insteek. URL Parser is om te inspecteren — je plakt een lange URL, kijkt naar de stukken, beslist wat er mis is en sluit het tabblad. URL naar JSON is om het resultaat ergens anders te gebruiken — een fixture-bestand, een config, een Postman-environment. De JSON-uitvoer is identiek; alleen de teksten en use cases zijn afgestemd op het "ik wil dit in een bestand"-werkpatroon.
Waarom is de uitvoer JSON en geen YAML of JS-objectliteral?
JSON is de kleinste gemene deler — elke taal, elk config-systeem en elk testframework leest het. Heb je YAML nodig, haal de JSON dan door onze JSON naar YAML-tool. Heb je een JS-objectliteral nodig, JSON is al geldige JS — plak het zo in je .ts-bestand. De conversie volgt RFC 8259, dus de uitvoer werkt overal waar JSON geaccepteerd wordt.
Hoe worden herhaalde querysleutels weergegeven?
Herhaalde sleutels worden samengevoegd in een array. ?tag=red&tag=blue wordt "tag": ["red", "blue"]. Zo parsen Express, FastAPI, ASP.NET, Spring en de meeste frameworks ook query-strings — en dat is wat URLSearchParams.getAll() teruggeeft.
En wat met arrays in haakjesnotatie zoals ?items[]=1&items[]=2?
De haakjes blijven onderdeel van de sleutel — je ziet "items[]": ["1", "2"] in de uitvoer. Dat is een getrouwe weergave van de bytes op de lijn. Als jouw framework (PHP, Rails, qs.js) wil dat de haakjes weggehaald of uitgevouwen worden tot een geneste structuur, doe dat dan in een nabewerkingsstap op de JSON.
Staat het wachtwoord in de JSON als mijn URL user:pass@host bevat?
Ja — de velden username en password verschijnen in de uitvoer als je URL ze bevat. De conversie draait volledig in je browser, dus de credentials verlaten je machine nooit. Maar credentials in URLs zetten is over het algemeen een slecht idee (zie RFC 3986 §3.2.1), en je wilt ze vrijwel zeker eruit halen voordat je de JSON naar een repo committet.
Kan ik in één keer een lijst URLs converteren?
Niet op deze pagina — per sessie wordt één URL geconverteerd. Heb je honderd URLs te verwerken, dan is het simpelste pad de uitvoerstructuur van deze pagina in een klein scriptje plakken en loopen. Of gebruik onze JSON Formatter nadat je de batch zelf hebt gescript. Batchconversie als UI-feature staat op de roadmap maar is nog niet uitgebracht.
Andere URL- en JSON-tools
Converteren is maar één bewerking. Wat hier natuurlijk mee combineert: