Configurazione del filtro JSON

Filtro JSON

Per ulteriori informazioni sui filtri in generale, vedere la sezione I filtri.

Usare il filtro JSON se il trigger riceve dati codificati JSON. Il filtro JSON consente di usare variabili e valori del file JSON. Il filtro supporta l'estrazione dei dati dalle serie JSON.

Nota

Automation consente di usare tutti i tipi di dati JSON. Ulteriori informazioni sui tipi di dati JSON disponibili sono disponibili qui.

Anche se è possibile definire manualmente la struttura del file JSON, NiceLabelconsiglia di importare la struttura dai file JSON ricevuti.

Per importare la struttura di file JSON:

  1. Passare a Filtri dati e modificare il filtro JSON.

  2. Fare clic su Struttura > Importa struttura dati. Passare al file JSON e fare clic su Apri.

    Dopo aver importato i file JSON, nella sezione Anteprima dati viene visualizzato il contenuto JSON. Anteprima dati mostra anche gli elementi definiti come campi di output.

Per gli esempi di dati JSON, vedere la sezione Dati JSON.

Definizione dei campi JSON

Se si definiscono i campi JSON si rendono automaticamente disponibili gli elementi selezionati. La definizione dei filtri rende disponibili tali campi per la mappatura sulle variabili nelle azioni. Ciò consente di estrarre i valori degli elementi.

Per definire i campi JSON:

  1. Selezionare l'elemento e impostarne l'Uso su Valore variable.

  2. L’elemento è visualizzato sull’elenco di strutture con lettere in grassetto, a indicare che esso è in uso.

  3. L'elemento viene usato come nome del campo di output.

  4. La sezione Anteprima dati evidenzia i valori dell'elemento selezionato.

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

Definizione di elementi ripetibili nel filtro JSON

Se un elemento JSON ricorre più volte nei dati JSON, si tratta di un elemento ripetibile. Di solito, un elemento ripetibile contiene dati per un singolo modello di etichetta. Gli elementi ripetibili producono più etichette popolate con i dati pertinenti.

Per indicare che si desidera usare i dati di tutti gli elementi ripetibili e non solo del primo:

  1. Selezionare l'elemento e definirlo come Blocco di dati.

  2. Attivare l'opzione Elemento ripetibile.

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

Se il filtro contiene la definizione degli elementi definiti come blocco di dati/elemento ripetibile, l'azione Usa filtro dati visualizza gli elementi ripetibili con segnaposto nidificati. Tutte le azioni nidificate al di sotto del segnaposto vengono eseguite solo per i blocchi di dati a questo livello.

Avvertimento

Il filtro dati JSON con blocco dati nidificato duplica i valori dell'area di assegnazione precedente se una variabile è definita nel primo blocco ma non nel secondo. Ad esempio, vengono stampate due etichette. Nella prima area di assegnazione è stata definita una variabile "manufacturer_serial". Nella seconda area di assegnazione questa variabile non è presente.

{
  "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"
    }
  ]
}

Il risultato atteso sarebbe la seconda etichetta senza dati "manufacturer_serial". Ma nella stampa effettiva, la seconda etichetta conterrebbe il valore "manufacturer_serial" della prima etichetta, che è 706583012001.

Ci sono tre possibili soluzioni:

  • Evitare i blocchi di dati nidificati.

  • Definire i valori delle variabili come valori vuoti (""), se le variabili non vengono utilizzate nei blocchi di dati nidificati.

          "data": [
            {
              "manufacturer_serial": "",
              "package_code": "AA792CY"
            }
  • Utilizzare le condizioni sulle azioni per impostare le variabili.

  • Utilizzare le manipolazioni di stringhe quando vengono rilevate variabili mancanti.

Definizione dell'area di assegnazione JSON

Il filtro JSON identifica automaticamente i campi e i relativi valori nei dati ricevuti. Ciò rende superflua la mappatura manuale variabile sul campo.

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

Nota

Poiché nel filtro JSON non ci sono attributi opzionali, Automation definisce automaticamente Nomi variabili e Valori variabili.