JSON-Filter

Um mehr über Filter im Allgemeinen zu erfahren, siehe Abschnitt Informationen zu Filtern.

Verwenden Sie den JSON-Filter, wenn Ihr Trigger JSON-codierte Daten erhält. Mit dem JSON-Filter können Sie Veriablen und Werte aus Ihrer JSON-Datei verwenden. Der Filter unterstützt die Datenextraktion aus JSON-Datenfeldern.

Anmerkung

Automation ermöglicht Ihnen die Nutzung aller JSON-Datentypen. Weitere Informationen über die verfügbaren JSON-Datentypen finden Sie hier.

Obwohl Sie die JSON-Dateistruktur manuell definieren können, empfiehlt NiceLabel Ihnen, die Struktur aus den empfangenen JSON-Dateien zu importieren.

So importieren Sie die JSON-Dateistruktur:

  1. Gehen Sie auf Datenfilter und Bearbeiten Sie Ihren JSON-Filter.

  2. Klicken Sie auf Struktur > Datenstruktur importieren. Navigieren Sie zu Ihrer JSON-Datei und klicken Sie auf Öffnen.

    Nach dem Importieren von JSON-Dateien werden die JSON-Inhalte im Bereich Datenvorschau angezeigt. Außerdem hebt die Datenvorschau die Elemente hervor, die Sie als Ausgabefelder definieren.

Beispiele für JSON-Daten finden Sie im Abschnitt JSON-Daten.

JSON-Felder definieren

Beim Definieren von JSON-Feldern stellen Sie Werte der ausgewählten Elemente automatisch zur Verfügung. Ihre Filterdefinition stellt solche Felder für die Zuordnung zu Variablen in Aktionen zur Verfügung. Auf diese Weise können Sie die Elementwerte extrahieren.

So definieren Sie JSON-Felder:

  1. Wählen Sie Ihr Element aus und stellen Sie seine Nutzung auf Variabler Wert ein.

  2. Das Element wird in der Strukturliste in Fettdruck angezeigt, um zu verdeutlichen, dass es verwendet wird.

  3. Der Element wird als Name des Ausgabefeldes verwendet.

  4. Der Abschnitt „Datenvorschau“ hebt die Werte des ausgewählten Elements hervor.

    UUID-9f0f03fd-7076-59f2-c647-ba1f51e713b0.png

Wiederholbare Elemente im JSON-Filter definieren

Wenn ein JSON-Element mehrmals in Ihren JSON-Daten vorkommt, handelt es sich um ein wiederholbares Element. Für gewöhnlich enthalten wiederholbare Elemente Daten für ein einzelnes Etikett. Wiederholbare Elemente erzeugen mehrere Etiketten, die mit relevanten Daten ausgefüllt werden.

So geben Sie an, dass Sie Daten aus allen wiederholbaren Elementen extrahieren wollen, nicht nur aus dem ersten:

  1. Wählen Sie das Element aus und definieren Sie es als Datenblock.

  2. Aktivieren Sie die Option Wiederholbares Element.

UUID-8cd03b89-bc59-8a9a-0f71-cb27d3d850d8.png

Beinhaltet der Filter die Definition von Elementen, die als Datenblock / wiederholbare Elemente definiert sind, zeigt die Aktion Datenfilter verwenden wiederholbare Elemente mit eingebetteten Platzhaltern an. Alle Aktionen, die unter einem solchen Platzhalter eingebunden sind, werden nur für Datenblöcke auf dieser Ebene ausgeführt.

Warnung

JSON-Datenfilter mit verschachtelten Datenblöcken duplizieren Werte aus dem vorherigen Zuweisungsbereich, wenn eine Variable im ersten Block, aber nicht im zweiten definiert ist. Nehmen wir an, Sie drucken zwei Etiketten. Im ersten Zuweisungsbereich haben Sie eine Variable definiert: „manufacturer_serial“. Im zweiten Zuweisungsbereich ist diese Variable nicht vorhanden.

{
  "jobs": [
    {
      "data": [
        {
          "manufacturer_serial": "706583012001",
          "package_code": "AA792CY"
        }
      ],
      "label_filename": "serial_number_label.nlbl",
      "print_quantity": 1,
      "printer_name": "Warehouse_printer_09"
    },
    {
      "data": [
        {
          "package_code": "BE273XS"
        }
      ],
      "label_filename": "serial_number_label.nlbl",
      "print_quantity": 1,
      "printer_name": "Warehouse_09"
    }
  ]
}

Das erwartete Ergebnis wäre das zweite Etikett ohne „manufacturer_serial“-Daten. Beim tatsächlichen Druck würde das zweite Etikett jedoch den Wert „manufacturer_serial“ des ersten Etiketts enthalten, d. h. 706583012001.

Es gibt jetzt drei Möglichkeiten:

  • Vermeiden Sie verschachtelte Datenblöcke.

  • Definieren Sie die Variablenwerte als leere Werte („“), wenn die Variablen nicht in verschachtelten Datenblöcken verwendet werden.

          "data": [
            {
              "manufacturer_serial": "",
              "package_code": "AA792CY"
            }
  • Verwenden Sie Bedingungen für Aktionen, um Variablen zu definieren.

  • Verwenden Sie Zeichenfolgenmanipulationen, wenn fehlende Variablen erkannt werden.

JSON-Zuweisungsbereich definieren

Der JSON-Filter erkennt Felder und ihre Werte in den empfangenen Daten automatisch. Daher ist eine manuelle Variable-zu-Feld-Zuordnung nicht notwendig.

UUID-8cd03b89-bc59-8a9a-0f71-cb27d3d850d8.png

Anmerkung

Da es in JSON keine optionalen Attribute gibt, definiert Automation Variablennamen und Variable Werte automatisch.