Pour en savoir plus sur les filtres en général, consulter l'article Comprendre les filtres.
Utiliser le filtre JSON quand un déclencheur reçoit des données encodées JSON. Le filtre JSON vous permet d'utiliser les variables et les valeurs de votre fichier JSON. Le filtre prend en charge l'extraction des données des spectres JSON.
Note
Automation vous permet d'utiliser tous les types de données JSON. Plus d'informations sur les types de données JSON ici.
Vous pouvez définir la structure d'un fichier JSON manuellement, mais NiceLabel vous recommande de l'importer des fichiers JSON reçus.
Pour importer la structure d'un fichier JSON :
-
Aller dans Filtre de données et Modifier votre filtre JSON.
-
Cliquer sur Structure > Importer la structure des données. Parcourir votre fichier JSON et cliquer sur Ouvrir.
Après avoir importé les fichiers JSON, la section Aperçu de données affiche le contenu JSON. L'Aperçu des données surligne également les éléments que vous définissez comme champs de sortie.
Pour les exemples de données JSON, voir la section Données JSON.
Quand un champ JSON est défini, les valeurs des éléments sélectionnés deviennent automatiquement disponibles. Votre définition du filtre rend ces champs disponibles pour le mappage des variables aux actions. Vous pouvez ainsi extraire les valeurs des éléments.
Pour définir les champs JSON :
-
Sélectionner votre élément et définir son Usage sur Valeur variable.
-
L'élément s'affiche en gras sur la liste de structure, ce qui indique qu'il est en cours d'utilisation.
-
L'élément est utilisé comme nom du champ de sortie.
-
La section Aperçu de données met en évidence les valeurs de l'élément sélectionné.
Si un élément JSON survient dans les données JSON plusieurs fois, c'est un élément répétable. Généralement, un élément répétable contient des données pour un seul masque d'étiquette. Les éléments répétables produisent plusieurs étiquettes remplies des données pertinentes.
Pour indiquer que vous voulez utiliser les valeurs de tous les éléments répétables, pas seulement ceux du premier :
-
Sélectionner l'élément et le définir comme Bloc de données.
-
Activer l'option Élément répétable.
Si le filtre contient une définition d'éléments définis comme bloc de données/élément répétable, l'action Utiliser le Filtre de Données affiche les éléments répétables avec les espaces réservés indentés. Toute action indentée sous un tel espace réservé s'exécute seulement pour les blocs de données à ce niveau.
Avertissement
Le filtre de données json avec un bloc de données imbriquées duplique les valeurs provenant de la zone d’affectation précédente si une variable est définie dans le premier bloc, mais pas dans le deuxième. Prenons par exemple une situation où vous imprimez deux étiquettes. Dans la première zone d’affectation, vous avez défini une variable « manufacturer_serial »
. Dans la deuxième zone d’affectation, cette variable n’est pas présente.
{ "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" } ] }
Le résultat attendu serait la deuxième étiquette sans les données « manufacturer_serial »
. Mais sur l’impression obtenue, la deuxième étiquette contiendrait la valeur « manufacturer_serial »
provenant de la première étiquette, à savoir 706583012001.
Trois solutions sont possibles :
-
Éviter des blocs de données imbriquées.
-
Définir des valeurs de variables vides (« ») si les variables ne sont pas utilisées dans les blocs de données imbriquées.
"data": [ { "manufacturer_serial": "", "package_code": "AA792CY" }
-
Utiliser des conditions sur les actions pour définir les variables.
-
Utiliser des manipulations de chaîne lorsque des variables manquantes ont été détectées.
Le filtre JSON identifie automatiquement les champs et leurs valeurs dans les données reçues. Ainsi, le mappage manuel de variable au champ n'est pas requis.
Note
Étant donné qu'il n'y a pas d'attributs optionnels dans JSON, Automation définit automatiquement les noms des variables et les valeurs des variables.