Die zu erledigende Aufgabe
Finden Sie die Einstellung, die sich geändert hat, nicht die Linien, die sich verschoben haben.
Formatierer und Bereitstellungstools schreiben Konfigurationsdateien ständig neu. Eine Schlüsselbewegung oder eine generierte Liste erscheint in einer neuen Reihenfolge, und ein Zeilenunterschied verbirgt den einzigen Wert, der zählt: ein anderer Port, ein entferntes Feature-Flag oder eine Variable, die in der Produktion noch nicht vorhanden ist.
Diff Anything liest JSON, YAML, TOML, INI, Eigenschaftslisten und XML als Daten, auch wenn die beiden Dateien unterschiedliche Formate verwenden, und listet jede Änderung mit ihrem Pfad, zum Beispiel $.services.api.port, neben dem alten und neuen Wert auf. Umgebungsdateien werden als benannte Variablen gelesen, deren Werte maskiert bleiben, bis Sie sich dafür entscheiden, eine anzuzeigen.

Empfohlener Pfad
Vergleichen Sie eine Umgebung mit einer anderen.
Platzieren Sie links die Konfiguration, der Sie vertrauen, z. B. die heute bereitgestellte Datei, und rechts die vorgeschlagene Version.
Öffnen Sie das Paar
Wählen Sie zwei JSON-, YAML-, TOML-, INI-, Eigenschaftenlisten-, XML- oder .env-Dateien aus oder fügen Sie deren Inhalt ein. Automatisch wählt den Modus anhand des Dateinamens und -inhalts aus, und eine JSON-Datei wird neben einer TOML- oder YAML-Datei anhand ihrer Daten verglichen.
Verstecken Sie die erwarteten Änderungen
Öffnen Sie im JSON-, YAML-, TOML-, INI- oder Eigenschaftenlistenmodus „Semantische Regeln“ und fügen Sie „Pfade ignorieren“ für generierte Felder wie einen Build-Zeitstempel hinzu. „Empfohlene Regeln“ schlägt anhand der gefundenen Unterschiede weitere Regeln vor.
Listenelemente korrekt koppeln
Datensätze mit einer eindeutigen ID, _id, uuid oder einem Schlüsselfeld werden automatisch gepaart. Fügen Sie für andere eine Array-Schlüsselregel hinzu, zum Beispiel $.services = name, oder listen Sie den Pfad unter Ungeordnete Array-Pfade auf. XML-Elemente werden durch ein Schlüsselattribut wie ID oder Name gepaart. Fügen Sie das übergeordnete Element unter Ungeordnete Elemente hinzu, wenn die Geschwisterreihenfolge keine Bedeutung hat.
Überprüfen Sie Variablen, ohne sie offenzulegen
Im Umgebungsdateimodus werden fehlende, zusätzliche und geänderte Variablen mit ausgeblendeten Werten aufgelistet. Aktivieren Sie „Anwesenheit vergleichen“ nur, wenn nur die Namen übereinstimmen müssen.
Kopieren Sie die von Ihnen genehmigten Korrekturen
Wählen Sie einen Unterschied aus und kopieren Sie ihn mit Rechts → Links oder Links → Rechts. Die Eigenschaftslistenziele JSON, TOML, INI und XML werden an Ort und Stelle bearbeitet und behalten ihre Kommentare und ihr Layout. YAML- und XML-Ziele werden nach einer Bestätigung aus geparsten Daten neu erstellt, wodurch Kommentare und benutzerdefiniertes Layout gelöscht werden.
Beteiligte Fähigkeiten
Drei Teile von Diff Anything erledigen hier die Arbeit.
Grenzen zu kennen
Wo die Regeln gelten und wo sie aufhören.
Semantische Regeln, einschließlich Ignorieren von Pfaden, Array-Schlüsseln und numerischer Toleranz, funktionieren im JSON, YAML, TOML, INI und im Eigenschaftenlistenmodus, einschließlich Paaren von zwei verschiedenen Formaten. XML bietet ungeordnete Elemente für die untergeordnete Reihenfolge und .env bietet nur Vergleichspräsenz.
Werte werden beim Parsen und Zahlen nach Wert verglichen, sodass 1 und 1,0 gleich sind. Listen ohne ein id-ähnliches Feld werden nach Position abgeglichen, sodass ein eingefügtes Element spätere Positionen als geändert markieren kann; Fügen Sie eine Array-Schlüsselregel hinzu, wenn Datensätze ein anderes identifizierendes Feld haben.
Die Maskierung deckt die Vergleichsansicht ab und exportierte Berichte schwärzen standardmäßig Umgebungswerte. Pro-Verlaufs-Snapshots von .env-Dateien behalten Variablennamen bei, wobei jeder Wert maskiert ist, und Sie können Snapshots in den Einstellungen deaktivieren.
Der kostenlose Plan führt jedes Konfigurationsformat in der App mit vollständigen Ergebnissen für Dateien bis zu jeweils 5 MB und 10 Vergleichen pro Tag aus. Gespeicherte Profile, Verlauf, Berichtsexport und Befehlszeilenausführungen aller Modi außer Text, JSON und Notebooks erfordern Pro.
Zugehöriges Handbuch
Den passenden Vergleichstyp wählen
Quellen wählen, die automatische Erkennung verstehen und den Vergleichstyp nehmen, der Ihre Frage beantwortet.
In den Abschnitten geht es darum, mit der Überprüfungsfrage zu beginnen, Quellen auszuwählen und zu laden, wie der automatische Modus auflöst, Text und strukturierte Ergebnisse zu lesen, Tabellenkalkulationen in verschiedenen Formaten zu vergleichen, Smart Diff oder Line Diff für Code auszuwählen, zu navigieren und zu überprüfen, eine Drei-Wege-Zusammenführung zu lösen und Eingabeprobleme zu beheben. Verwenden Sie es, wenn Sie bereit sind, diesen Workflow mit Ihren eigenen Projektdaten zu reproduzieren.
Lesen Sie den LeitfadenDirekte Antworten
Fragen zu diesem Anwendungsfall.
Kann ich ein Zeitstempelfeld in einer JSON-Konfigurationsdatei ignorieren?
Ja. Fügen Sie seinen Pfad unter „Pfade in semantischen Regeln ignorieren“ hinzu, zum Beispiel „$.build.generatedAt“, oder beenden Sie einen Pfad mit „.*“, um alles darunter wegzulassen. Die Regeln sind kostenlos; Um sie für den nächsten Lauf aufzubewahren, ist ein Pro-Profil erforderlich.
Werden neu angeordnete Schlüssel oder neu eingerückte YAML als Änderungen angezeigt?
Nein. Beide Dateien werden als Daten gelesen, daher werden Schlüsselreihenfolge, Einrückung und Kommentare nicht verglichen. Wenn eine Liste nur die Reihenfolge ändert, meldet das Ergebnis diese Neuordnung statt einer Änderung an jeder Position.
Kann jemand, der auf meinen Bildschirm schaut, die geheimen Werte lesen?
Nicht, es sei denn, Sie offenbaren sie. Geänderte Variablen werden hervorgehoben und ihre Werte maskiert. „Wert anzeigen“ zeigt jeweils einen Wert an, „Alle anzeigen“ fragt zuerst nach einer Bestätigung, und wenn Sie eine der Dateien bearbeiten, werden die angezeigten Werte wieder ausgeblendet.
Kann ich ein YAML-Manifest mit dem JSON vergleichen, aus dem es generiert wurde?
Ja. Platzieren Sie die Datei JSON und die Datei YAML auf gegenüberliegenden Seiten. Automatisch behandelt das Paar als YAML-Daten. Aliase werden durch die Werte ersetzt, die ihre Anker definieren, bevor etwas verglichen wird.
Kostenlos & Pro: Was ist enthalten
Verfügbar im Mac App Store und Microsoft Store. Mit der kostenlosen Desktop-Nutzung können Sie jede Vergleichs-Engine für Dateien bis zu 5 MiB pro Seite und 10 neue Vergleichssitzungen pro lokalem Tag ausprobieren; Sammlungsvorschauen zeigen die ersten 100 Elemente, binäre Vergleiche die ersten 100 Byte-Unterschiede und PDF-Vorschauen die ersten drei Seiten. Der Nur-Text-, JSON- und Jupyter-Notebook-Vergleich ist vollständig und das Öffnen von Dateien über den Finder oder den Datei-Explorer, diffanything://-Links und AppleScript ist kostenlos. Die kostenlose CLI unterstützt Text, JSON und Notebooks. Durch einen einmaligen Pro-Kauf werden die Vorschau- und Sitzungsbeschränkungen aufgehoben und größere Quellen innerhalb technischer Grenzen, gespeicherte Profile und Verlauf, Speichern von Ordner-Snapshots, Exportieren und Drucken von Berichten, JSON-Patch-Export, Anwenden von Patches, Drei-Wege-Zusammenführung und Konfliktlösung, der Git-Merge-Treiber und das Merge-Tool, Ordnersynchronisierung, Batch-Manifeste, vertrauenswürdige Präprozessoren und alle CLI-Modi freigeschaltet.