Netzwerk/HTTP

Query String ↔ JSON

Einen URL-Query-String in ein JSON-Objekt zerlegen oder JSON zurück in einen Query-String zusammensetzen.

Der Query-String einer URL (der Teil nach ?) ist eine flache Menge von Schlüssel-Wert-Paaren, während JSON verschachtelte Strukturen und Datentypen unterstützt. Dieses Tool konvertiert in beide Richtungen, einschließlich wiederholter Schlüssel und Arrays.

So verwendest du es

Typische Anwendungsfälle

Was du wissen solltest

Jeder Wert in einem Query-String ist Text — „true", „false" oder „42" bleiben im JSON Zeichenketten, bis Code sie explizit in den passenden Typ umwandelt.

Verschachtelte Objekte und Arrays haben keine einheitliche Query-String-Notation — verschiedene Backend-Frameworks (PHP, Rails, Express) verwenden leicht unterschiedliche Syntax (a[b]=1 gegenüber a.b=1).

Artikel zu diesem Tool: Query-String vs. JSON: warum GET-Parameter so eingeschränkt sind

Häufig gestellte Fragen

Wie geht dieses Tool mit wiederholten Parameternamen wie ?tag=a&tag=b um?

Wiederholte Schlüssel werden typischerweise in einem Array gesammelt (tag: ["a", "b"]), statt sich gegenseitig zu überschreiben, passend dazu, wie die meisten Backend-Frameworks Query-Strings parsen.

Was passiert mit Sonderzeichen bei der Konvertierung?

Prozent-kodierte Zeichen (wie %20 für ein Leerzeichen) werden bei der Konvertierung zu JSON in ihre wörtliche Form zurück dekodiert und bei der Rückkonvertierung von JSON zu einem Query-String erneut kodiert.

Werden meine URL oder Daten irgendwohin gesendet, um diese Konvertierung durchzuführen?

Nein. Die Konvertierung erfolgt vollständig in Ihrem Browser — nichts wird an einen Server gesendet.

Wie lang darf eine URL maximal sicher sein?

Etwa 2000 Zeichen — die vorsichtigste gemeinsame Grenze zwischen gängigen Browsern und Servern. Für größere Datenmengen sollte statt eines Query-Strings eine POST-Anfrage mit Body verwendet werden.

Wie übergibt man einen true/false-Wert oder eine Zahl über einen Query-String?

Ein Query-String speichert immer nur Text — Werte wie "false" oder "42" bleiben Zeichenketten, bis Server- oder Client-Code sie explizit erkennt und in einen Boolean oder eine Zahl umwandelt.

Artikel: Netzwerk/HTTP