Ich möchte zwei JSON-Textdateien unterscheiden. Leider sind sie in beliebiger Reihenfolge aufgebaut, daher erhalte ich Diffs, wenn sie semantisch identisch sind. Ich würde gerne jq (oder was auch immer) verwenden, um sie in irgendeiner Art von vollständiger Reihenfolge zu sortieren, um Unterschiede aufgrund der Reihenfolge der Elemente zu eliminieren.Wie kann ich JSON vollständig mit jq sortieren?
--sort-keys löst das halbe Problem, aber Arrays werden nicht sortiert.
Ich bin ziemlich ignorant von jq und weiß nicht, wie man einen jq rekursiven Filter schreibt, der alle Daten erhält; jede Hilfe würde geschätzt werden.
Ich erkenne, dass zeilenweise 'diff' Ausgabe ist nicht unbedingt der beste Weg, um zwei komplexe Objekte zu vergleichen, aber in diesem Fall weiß ich, dass die beiden Dateien sehr ähnlich sind (fast identisch) und Zeile-für- Linien Diffs sind gut für meine Zwecke.
Using jq or alternative command line tools to diff JSON files antwortet eine sehr ähnliche Frage, aber druckt nicht die Unterschiede. Außerdem möchte ich die sortierten Ergebnisse speichern, also was ich wirklich will, ist nur ein Filterprogramm, um JSON zu sortieren.
Mögliches Duplikat [Mit jq oder alternativen Kommandozeilen-Tool zu diff JSON-Dateien] (http://stackoverflow.com/questions/31930041/using-jq-or-alternative-command- line-tools-to-diff-json-files) –