Finde doppelte JSON-Schlüssel, bevor ein Parser sie verwirft
Formatierung kann einen doppelten Schlüssel verbergen. Finde beide Definitionen, bevor du entscheidest, welchen Wert du behalten möchtest.
Dieses JSON sieht klein genug aus, um es mit dem Auge zu prüfen:
{
"theme": "light",
"theme": "dark"
}
Aber welches Theme soll eine Anwendung verwenden? Ein Formatierer, der das Objekt parst und erneut ausgibt, könnte nur einen Wert hinterlassen und den Konflikt verbergen, bevor du ihn bemerkst.
Gültige Syntax löst kein Duplikat
Der JSON-Standard besagt, dass Namen innerhalb eines Objekts eindeutig sein sollten. Doppelte Namen können der Grammatik entsprechen, aber Empfänger gehen unterschiedlich damit um: Manche behalten den letzten Wert, manche lehnen das Objekt ab, andere zeigen beide an.
JavaScript behält in diesem Beispiel den letzten:
JSON.parse('{"theme":"light","theme":"dark"}').theme
// "dark"
Das ist das Verhalten des Parsers, kein Beweis dafür, dass der zweite Wert korrekt ist. Bei Konfigurationsdateien könnte der erste Wert der sein, den du behalten wolltest.
Beide Definitionen finden, bevor du bearbeitest
Lade die Beispiel-Datei mit doppelten Schlüsseln herunter und öffne sie im JSON-Formatierer von CozyToolkit.
- Verwende JSON öffnen oder füge das Beispiel in Dein JSON ein.
- Achte auf das hervorgehobene Feld und die Problemliste unter den Editoren. Dieses Beispiel markiert den zweiten Schlüssel in Zeile 3, Spalte 3.
- Wähle das Problem aus, um dorthin zu springen. Erste Definition anzeigen bringt dich zu Zeile 2, Spalte 3.
- Vergleiche die Werte mit der maßgeblichen Quelle: deiner Konfiguration, dem API-Schema oder dem ursprünglichen Export. Behalte eine Kopie, bevor du etwas änderst; Rohkopie bewahrt die Eingabe so, wie sie eingegeben wurde.
- Entferne die unbeabsichtigte Eigenschaft. Sobald die Probleme gelöst sind, überprüfe die Ausgabe und verwende Formatierte Kopie oder Herunterladen.
Der Formatierer blockiert absichtlich die formatierte Ausgabe, solange doppelte Schlüssel vorhanden sind. Das Sortieren von Schlüsseln oder das Ändern der Einrückung kann die Mehrdeutigkeit nicht auflösen.
Für dieses Beispiel nehmen wir an, dass der Dunkelmodus die gewünschte Einstellung ist. Die korrigierte Datei enthält nur diese Eigenschaft. Wir haben sie bewusst gewählt; das Tool hat nicht für uns entschieden.
Der gleiche Name in getrennten Objekten ist in Ordnung
Diese beiden Eigenschaften gehören zu verschiedenen Objekten:
{
"editor": { "theme": "light" },
"preview": { "theme": "dark" }
}
Es gibt kein Duplikat innerhalb eines der Objekte. Eine Textsuche nach dem Wort „theme“ findet zwei Treffer, aber das reicht nicht aus, um ein doppeltes Schlüsselproblem zu diagnostizieren. Probiere die Datei mit getrennten Objekten im Formatierer aus: Sie sollte keine Probleme aufweisen.
Wenn du wirklich mehrere Werte benötigst, könnte ein Array angemessen sein – aber nur, wenn die Anwendung, die das JSON empfängt, ein Array erwartet. Das Umbenennen eines Schlüssels oder das Ändern des Typs eines Werts, nur um einen Fehler zu beheben, kann das von dieser Anwendung erwartete Datenformat verletzen.
Maskierte Namen können dasselbe Problem verbergen
Dieses Objekt hat zwei Schreibweisen desselben dekodierten Schlüssels:
{"theme":"light","\u0074heme":"dark"}
Die Escape-Sequenz repräsentiert den Buchstaben t. Nach dem Dekodieren sind beide Namen theme. Unser Inspektor markiert auch das. Lade die Beispiel-Datei mit maskiertem Schlüssel herunter, wenn du es überprüfen möchtest.
Für einen großen Export verwende einen parser-basierten Prüfer, anstatt nach wiederholten Wörtern zu suchen. Unser Tool unterstützt Dateien bis zu 5 MB, mit Grenzen von 200.000 Werten und 100 Verschachtelungsebenen. Wenn es das Anzeigelimit von 100 Problemen erreicht, behebe die gemeldeten Probleme und lass es erneut prüfen. Für Dateien jenseits dieser Grenzen verwende einen lokalen Streaming-Validator, der Duplikate explizit erkennt, bevor er sie verwirft.
Was eine fehlerfreie Prüfung aussagt
Keine Fehler bei doppelten Schlüsseln bedeutet, dass diese spezielle Mehrdeutigkeit behoben ist. Es beweist nicht, dass ein Preis, eine Berechtigung, eine URL oder ein Konfigurationswert korrekt ist. Überprüfe diese gegen das Schema und die Anwendung, die die Datei verwenden wird.
Am 1. Oktober 2026 haben wir alle vier herunterladbaren Beispiele mit demselben Inspektor wie das Tool getestet. Wir haben die Zeilen- und Spaltenpositionen überprüft, verifiziert, dass Duplikate die Formatierung blockieren, und bestätigt, dass die korrigierten und getrennten Objektbeispiele bestehen. Die Testergebnisse enthalten diese Prüfungen und das JavaScript-Parse-Ergebnis. Die Inspektion erfolgt in deinem Browser; kein KI-Modell wählt aus, welche Werte behalten werden.