100 % lokal — Ihre Daten verlassen nie Ihren Browser

JSON in Query-String — bereit für die URL

Ein flaches JSON-Objekt in einen URL-Query-String umwandeln. Die Prozentkodierung übernimmt das Werkzeug, Arrays werden zu wiederholten Schlüsseln.

Sofort Privat Null Cookies

JSON-Eingabe

Query String-Ausgabe

Was dieses Werkzeug tut

Ein flaches JSON-Objekt wird zu dem Teil einer URL, der hinter dem ? steht.

{ "q": "café au lait", "page": 2 }
q=caf%C3%A9+au+lait&page=2

Das ? selbst ist nicht dabei: meist fügen Sie dies hinter eines ein, das Sie schon haben.

Arrays werden zu wiederholten Schlüsseln

{ "tag": ["news", "draft"] }
tag=news&tag=draft

Keine Norm sagt, wie ein Array in einen Query-String gehört: tag[]=, tag[0]=, eine kommagetrennte Liste und wiederholte Schlüssel sind alle irgendwo in Gebrauch. Wiederholte Schlüssel lesen URLSearchParams und die meisten Server-Rahmenwerke ohne Konfiguration zurück, und das Umkehrwerkzeug dieser Seite macht daraus wieder ein Array.

Verschachtelung hält die Umwandlung an

{ "filter": { "status": "open" } }

wird abgelehnt, und die Meldung nennt filter. Es zu filter.status=open oder filter[status]=open zu verflachen hieße, eine Konvention zu erfinden; die Gegenseite muss ihr zustimmen, und nichts im JSON sagt, welche sie erwartet.

Typen überleben nicht, und null am wenigsten

Alles in einem Query-String ist Text. 2 und "2" gehen gleich hinaus, true als vier Buchstaben, und alle kommen als Zeichenketten zurück.

null wird ein leerer Wert:

{ "ref": null }
ref=

was als "" zurückgelesen wird, nicht als null. Der Schlüssel bleibt, seine Leere bleibt, aber der Unterschied zwischen nichts und leerem Text ist weg — ein Query-String kann ihn nicht schreiben. Das steht hier, weil es sonst der Verlust ist, den man im Betrieb entdeckt.

Datenschutz ab Werk

Alles läuft lokal in deinem Browser mit JavaScript. Deine Daten werden nie hochgeladen, wodurch das Tool auch für sensible Inhalte sicher ist und offline funktioniert.

Häufige Fragen

Wie werden Arrays kodiert — Klammern oder wiederholte Schlüssel?
Wiederholte Schlüssel: `{"tag":["a","b"]}` wird `tag=a&tag=b`. Keine Norm regelt Arrays in einem Query-String, die Wahl steht also zwischen Konventionen. Diese liest `URLSearchParams` zurück, und das Umkehrwerkzeug dieser Seite macht wieder ein Array daraus — das Paar ist symmetrisch.
Warum ist mein Leerzeichen ein `+` und kein `%20`?
Weil die Ausgabe der Formular-Kodierung folgt, in der `+` ein Leerzeichen bedeutet. Ein Formular-Dekoder liest beides gleich. Ein Empfänger, der nur Prozentzeichen dekodiert, nicht: er sieht ein echtes Plus. Geht die Zeichenkette dorthin, ersetzen Sie `+` vorher durch `%20`.
Bekomme ich meine Typen danach zurück?
Nein. Ein Query-String trägt nur Text: `2`, `true` und `"2"` gehen als dieselben Zeichen hinaus und kommen als Zeichenketten zurück. Null ist schlimmer — es wird ein leerer Wert, nicht von einer leeren Zeichenkette zu unterscheiden. Diese Seite nennt den Verlust, statt ihn zu verschweigen.

Ähnliche Konverter