So sortieren Sie eine json-Datei nach Schlüsseln und Werten dieser Schlüssel in jq

Wir erstellen eine Website mit der Pentaho CTools-Bibliothek, die über einen grafischen Dashboard-Editor verfügt, mit dem Dateien im JSON-Format für einen Teil des Dashboards geschrieben werden.

Ich möchte diese Dateien vor dem Einchecken in git transformieren, um sie nach Schlüssel und dann nach dem Wert bestimmter Schlüssel zu sortieren. Der Zweck besteht darin, Unterschiede zu vereinfachen, da der Editor die Gewohnheit hat, alle json-Felder neu anzuordnen.

Zum Beispiel könnten wir so etwas haben:

{
  "components": {
    "rows": [
      {
        "id": "CHARTS",
        "name": "Charts",
        "parent": "UnIqEiD",
        "properties": [
          {
            "name": "Group",
            "type": "Label",
            "value": "Charts"
          }
        ],
        "type": "Label",
        "typeDesc": "<i>Group</i>"
      },
      {
        "id": "kjalajsdjf",
        "meta_cdwSupport": "true",
        "parent": "CHARTS",
        "properties": [
          {
            "name": "name",
            "type": "Id",
            "value": "Value1"
          },
          {
            "name": "title",
            "type": "String",
            "value": "Value2"
          },
          {
            "name": "listeners",
            "type": "Listeners",
            "value": "[]"
          },
...

Wir könnenjq --sort-keys (http: //stedolan.github.io/jq) um alle Schlüssel zu sortieren, aber ich habe Mühe herauszufinden, wie man das @ benutsort_by -Funktion zum anschließenden Sortieren bestimmter Elemente nach dem Wert bestimmter Schlüssel (im obigen Beispiel also Sortieren nachproperties.name zum Beispiel. Irgendwelche Ideen

Antworten auf die Frage(2)

Ihre Antwort auf die Frage