URL zu JSON
Verwandle jede URL in ein strukturiertes JSON-Objekt — bereit, in eine Config, ein Fixture oder einen Test zu wandern
URL
JSON
Was macht URL zu JSON?
Du fügst links eine URL ein, und rechts erscheint ein JSON-Objekt mit allen Bestandteilen der URL benannt — protocol, host, pathname, searchParams, hash, alles. Es geht nicht darum, einmal hinzuschauen und weiterzuziehen. Es geht darum, dieses JSON an einen Ort zu kopieren, an dem es bleibt — eine Konfigurationsdatei, ein Jest-Fixture, eine Postman-Umgebung, ein YAML-Manifest, ein Request-Mock für deine Tests. URL-Strings sind leicht zu tippen, aber schwer zu verifizieren; strukturierte Objekte sind das Gegenteil.
Unter der Haube läuft derselbe Algorithmus, den jeder Browser über die URL API nutzt — sie implementiert den WHATWG URL Standard. Query-Parameter werden unterwegs dekodiert — %20 wird zu einem Leerzeichen, %5B zu [, wiederholte Schlüssel landen in einem JSON-Array — genau das Verhalten, das auch URLSearchParams liefert. Die Ausgabe wird dann mit denselben JSON.stringify-Regeln formatiert, die jedes andere JSON-Tool auf dieser Seite verwendet.
Wenn du dir nur die Bestandteile einer URL am Bildschirm anschauen willst — eine Weiterleitung debuggen, eine Tracker-Kette begutachten — passt die Seite URL Parser besser. Beide Seiten machen dieselbe Konvertierung; diese hier ist auf den Fall zugeschnitten, in dem das JSON selbst das Artefakt ist, das du behältst. Alles bleibt lokal in deinem Browser, kein Upload, keine Logs. Die Konvertierung folgt für die Syntax dem RFC 3986 und für die JSON-Ausgabe dem RFC 8259.
So wandelst du eine URL in JSON um
Drei Schritte. Jeder entspricht einem Button auf dieser Seite.
URL einfügen oder Beispiel laden
Wirf eine URL in das linke Panel. Klicke auf Beispiel, um eine realistische E-Commerce-URL mit Prozent-Encoding, wiederholten Query-Schlüsseln und einem Hash-Fragment zu laden. Beispiel:
https://api.shop.example.com/v1/orders?customer=Ava%20Chen&status=active&total%5Bgte%5D=49.99&page=2#summaryAlles, was der URL-Konstruktor akzeptiert, funktioniert — <code>http://</code>, <code>https://</code>, <code>file://</code>, <code>mailto:</code>, IPv6-Hosts und Userinfo.
JSON-Ausgabe lesen
Das rechte Panel aktualisiert sich, während du tippst. Du siehst protocol, host, port, pathname, pathSegments (der Pfad als Array), searchParams (dekodierte Schlüssel-Wert-Paare, mit Arrays für wiederholte Schlüssel) und hash. Das Feld href trägt die kanonische, normalisierte Form der URL — nützlich, wenn du sicherstellen willst, dass zwei URLs äquivalent sind, auch wenn die eine einen Standardport oder einen abschließenden Slash hatte.
Für dein Fixture kopieren, herunterladen oder minifizieren
Klicke auf Kopieren, um das JSON in die Zwischenablage zu schicken, auf Herunterladen, um es als url.json zu speichern, oder auf Minifizieren, um es für einen Log-Eintrag oder einen Query-Parameter auf eine Zeile zu komprimieren. Leeren im Eingabe-Panel setzt beide Editoren zurück.
Wann du das wirklich brauchst
HTTP-Request-Fixtures bauen
Wenn deine Tests gegen eine URL prüfen, ist die Prüfung auf einen String fragil — Groß-/Kleinschreibung, Standardports, abschließende Slashes, Reihenfolge der Parameter beißen alle. Wandle die URL in JSON um, lege das Objekt in dein Fixture und prüfe Feld für Feld. Passt sauber zu Bibliotheken wie Mock Service Worker oder Nock, die auf URL-Form matchen.
API-Clients in Konfigurationsdateien initialisieren
Eine YAML- oder JSON-Konfiguration, die eine Basis-URL als einzelnen String speichert, zwingt jeden Konsumenten, sie erneut zu parsen. Sie schon zerlegt zu speichern (host, port, basePath, defaultParams) macht die Konfiguration selbsterklärend und beseitigt eine ganze Klasse von "Haben wir den Slash am Ende vergessen"-Bugs. Nützlich für SDK-Generatoren und OpenAPI-Tooling.
Dokumentation für OAuth- und Webhook-Callbacks
Wenn du Doku schreibst, die zeigt "deine Callback-URL sieht ungefähr so aus", ist eine JSON-Aufschlüsselung neben der rohen URL für die Leser viel angenehmer. Standards wie RFC 6749 verlangen bestimmte Query-Parameter; in strukturierter Form ist auf einen Blick klar: "Hier solltest du state sehen".
Postman-/Bruno-/HTTPie-Environment-Exports
Die meisten API-Clients speichern URLs intern als zerlegte Objekte. Wenn du Alt-URLs in eine neue Collection importierst — etwa beim Migrieren von einer Doku-Seite, die Endpunkte als reine Strings auflistet — kannst du nach der Konvertierung in JSON den Import skripten, statt 200 Endpunkte von Hand durchzuklicken.
Häufige Fragen
Was ist der Unterschied zur URL-Parser-Seite?
Gleiche Engine, andere Verpackung. URL Parser ist zum Inspizieren — du fügst eine lange URL ein, schaust dir die Teile an, entscheidest, was schiefläuft, schließt den Tab. URL zu JSON ist dafür da, das Ergebnis zu nehmen und woanders zu verwenden — eine Fixture-Datei, eine Config, eine Postman-Umgebung. Die JSON-Ausgabe ist identisch; nur die Texte und Anwendungsfälle sind auf den Workflow "ich will das in einer Datei haben" abgestimmt.
Warum ist die Ausgabe JSON statt YAML oder ein JS-Objektliteral?
JSON ist der kleinste gemeinsame Nenner — jede Sprache, jedes Konfigurationssystem, jedes Test-Framework liest es. Wenn du YAML brauchst, schick das JSON durch unser Tool JSON zu YAML. Wenn du ein JS-Objektliteral brauchst, JSON ist bereits gültiges JS — füge es einfach in deine .ts-Datei ein. Die Konvertierung folgt dem RFC 8259, also funktioniert die Ausgabe überall, wo JSON akzeptiert wird.
Wie werden wiederholte Query-Schlüssel dargestellt?
Wiederholte Schlüssel werden zu einem Array zusammengefasst. ?tag=red&tag=blue wird zu "tag": ["red", "blue"]. Genau so parsen Express, FastAPI, ASP.NET, Spring und die meisten Frameworks Query-Strings — und das ist auch das, was URLSearchParams.getAll() zurückgibt.
Was ist mit Klammer-Notation wie ?items[]=1&items[]=2?
Die Klammern bleiben Teil des Schlüssels — du siehst in der Ausgabe "items[]": ["1", "2"]. Das ist eine getreue Darstellung der Bytes auf der Leitung. Wenn dein Framework (PHP, Rails, qs.js) die Klammern entfernt oder zu einem verschachtelten Objekt expandiert haben will, mach das in einem Nachbearbeitungsschritt auf dem JSON.
Steht das Passwort im JSON, wenn meine URL user:pass@host hat?
Ja — die Felder username und password erscheinen in der Ausgabe, wenn deine URL sie enthält. Die Konvertierung läuft komplett in deinem Browser, die Anmeldedaten verlassen also nie deinen Rechner. Trotzdem: Anmeldedaten in URLs sind generell keine gute Idee (siehe RFC 3986 §3.2.1), und du willst sie fast sicher entfernen, bevor du das JSON in ein Repo committest.
Kann ich eine Liste von URLs auf einmal konvertieren?
Nicht auf dieser Seite — eine Sitzung konvertiert eine URL. Wenn du hundert URLs verarbeiten willst, ist der einfachste Weg, die Ausgabe-Struktur dieser Seite in ein kleines Skript zu kopieren und zu loopen. Oder benutze nach deinem eigenen Batch-Skript unseren JSON Formatter. Batch-Konvertierung als UI-Feature steht auf der Roadmap, ist aber noch nicht ausgeliefert.
Weitere URL- und JSON-Tools
Konvertieren ist nur eine Operation. Das hier passt natürlich dazu: