JSON sortieren

JSON sortieren in einem Schritt: Das Werkzeug ordnet alle Schlüssel alphabetisch, natürlich oder nach Zeichencode, rekursiv und auf Wunsch auch Arrays nach Wert oder Feld.

Sortiertes JSON

Alles läuft in Ihrem Browser. Eingaben verlassen Ihr Gerät nicht.

JSON-Schlüssel sortieren und normalisieren

Mit diesem Werkzeug können Sie JSON sortieren: Alle Schlüssel in Objekten werden in eine feste Reihenfolge gebracht, auf Wunsch rekursiv bis in die tiefste Ebene. Das ist nützlich, wenn zwei Dateien dieselben Daten in anderer Reihenfolge enthalten, wenn Änderungen in der Versionsverwaltung übersichtlich bleiben sollen oder wenn Sie eine lange Konfiguration schneller durchsehen wollen. Ein sortiertes, einheitlich eingerücktes Dokument nennt man oft auch normalisiert; so lässt sich JSON normalisieren, bevor es verglichen oder gehasht wird.

Drei Sortierungen stehen zur Wahl. „Zeichencode“ sortiert wie json.dumps(..., sort_keys=True) in Python oder jq -S: Großbuchstaben stehen vor Kleinbuchstaben, Ziffern vor Buchstaben. „Alphabetisch“ ordnet die Keys alphabetisch nach deutschen Regeln, Groß- und Kleinschreibung zählt dabei nicht. „Natürlich“ behandelt Zahlen im Namen als Zahlen, sodass item2 vor item10 steht. Die JSON-Schlüssel sortieren Sie auf Wunsch absteigend.

Arrays bleiben normalerweise unverändert, denn ihre Reihenfolge hat meist eine Bedeutung. Wenn nicht, sortiert das Werkzeug einfache Werte nach Wert oder Listen von Objekten nach einem Feld, zum Beispiel name oder id. Zahlen werden dabei numerisch verglichen. Grenzen: Ganze Zahlen über 253 verlieren beim Einlesen an Genauigkeit, und doppelte Schlüssel werden auf den letzten Wert reduziert. Um zwei Dateien danach abzugleichen, nutzen Sie JSON vergleichen.

Anleitung: JSON sortieren in 4 Schritten

  1. JSON in das Feld „JSON einfügen“ kopieren oder „Beispiel“ laden.
  2. Sortierung (Zeichencode, Alphabetisch oder Natürlich) und Richtung wählen.
  3. „Rekursiv“ für verschachtelte Objekte einschalten und bei Bedarf „Arrays sortieren“ sowie ein Feld für Arrays von Objekten angeben.
  4. Einrückung wählen und das sortierte JSON mit „Kopieren“ übernehmen.

Typische Anwendungsfälle

  • Diffs klein halten: Konfigurationsdateien vor dem Commit sortieren, damit Git nur echte Änderungen zeigt.
  • Exporte abgleichen: Zwei Exporte mit gleichem Inhalt in anderer Reihenfolge sortieren und dann vergleichen.
  • Übersetzungsdateien ordnen: Schlüssel in i18n-Dateien wie de.json und en.json alphabetisch halten, damit fehlende Einträge auffallen.
  • Listen ordnen: Ein Array von Objekten nach name oder id sortieren, etwa für eine übersichtliche Produktliste.
Fragen

Häufige Fragen

Ändert das Sortieren die Daten?

Nein. Die Reihenfolge von Schlüsseln in einem JSON-Objekt hat keine Bedeutung, die Daten bleiben gleich. Anders bei Arrays: Deren Reihenfolge kann wichtig sein, deshalb werden sie nur sortiert, wenn Sie das ausdrücklich einschalten.

Welche Sortierung entspricht Python sort_keys?

Die Einstellung „Zeichencode“. Sie vergleicht die Zeichen nach ihrem Code, wie json.dumps mit sort_keys=True oder jq -S. Großbuchstaben kommen dabei vor Kleinbuchstaben, „Z“ also vor „a“.

Wie sortiere ich eine Liste von Objekten nach einem Feld?

Schalten Sie „Arrays sortieren“ ein und tragen Sie den Feldnamen ein, etwa name. Objekte ohne dieses Feld landen am Ende. Zahlen werden numerisch, Texte nach der gewählten Sortierung verglichen.

Warum hilft sortiertes JSON in Git?

Wenn ein Programm Schlüssel bei jedem Speichern in anderer Reihenfolge schreibt, zeigt die Versionsverwaltung viele Scheinänderungen. Sortierte Keys alphabetisch und gleich eingerückt halten den Diff klein und lesbar.

Bleibt die Eingabe privat?

Ja. Das Sortieren findet nur in Ihrem Browser statt, nichts wird übertragen.

Wie sortiere ich JSON-Schlüssel in JavaScript?

Eingebaut gibt es das nicht: JSON.stringify übernimmt die Reihenfolge, in der die Schlüssel angelegt wurden. Für eine feste Reihenfolge baut man das Objekt rekursiv mit sortierten Schlüsseln neu auf. Schlüssel, die wie ganze Zahlen aussehen, stellt JavaScript dabei immer an den Anfang.

Ist sortiertes JSON eine kanonische Form für Hashes und Signaturen?

Nicht ganz. Dafür gibt es RFC 8785 (JSON Canonicalization Scheme), das neben der Schlüsselreihenfolge auch die Darstellung von Zahlen und Zeichen festlegt. Sortieren und ohne Einrückung ausgeben kommt dem nahe, ist aber nicht in jedem Fall identisch.

Weitere Werkzeuge

Das könnte auch helfen

Alle 358 Werkzeuge