Accéder au contenu principal Passer au contenu complémentaire

Valider un fichier JSON utilisant un schéma JSON

Vous pouvez valider des colonnes JSON à l'aide du composant tJSONValidator.

Ce scénario s'applique uniquement à Talend Data Integration, Talend Data Management Platform, Talend Big Data Platform, Talend Real-Time Big Data Platform, Talend MDM Platform, Talend Data Services Platform, Talend MDM Platform et Talend Data Fabric.

Note InformationsRemarque : Le composant tJSONValidator est disponible uniquement si vous avez installé la mise à jour mensuelle R2024-11 du Studio Talend ou une plus récente fournie par Talend. Pour plus d'informations, contactez votre administrateur ou administratrice.

Pourquoi et quand exécuter cette tâche

Utiliser un fichier JSON vous permet de valider toutes les données du fichier. Si un enregistrement n'est pas validé par rapport au schéma, tous les enregistrements sont considérés comme invalides.

Si vous souhaitez valider des enregistrements séparés et envoyer chaque enregistrement valide/invalide dans le composant de sortie dédié, utilisez les données d'entrée brutes. Pour plus d'informations, consultez Valider des données d'entrée JSON brutes utilisant un schéma JSON.

Ce scénario décrit un Job utilisant :
  • le composant tFileInputRaw, pour utiliser un fichier JSON en entrée,
  • le composant tJSONValidator, pour valider les colonnes JSON,
  • le composant tLogRow pour écrire les résultats en sortie.
Job utilisant un tFileInputRaw, un tJSONValidator et deux tLogRow.

Configurer votre Job

Procédure

  1. À partir de la Palette, glissez-déposez les composants suivants dans l'espace de modélisation graphique : un tFileInputRaw, un tJSONValidator et deux tLogRow.
  2. Reliez le tFileInputRaw au tJSONValidator à l'aide d'un lien Main.
  3. Reliez le tJSONValidator à l'un des tLogRow à l'aide d'un lien FLOW.
  4. Reliez le tJSONValidator à l'autre tLogRow à l'aide d'un lien Reject.

Configurer le composant d'entrée

Procédure

  1. Double-cliquez sur le tFileInputRaw pour ouvrir sa vue Basic settings et l'onglet Component.
  2. Cliquez sur Edit Schema.
  3. Dans la boîte de dialogue qui s'ouvre, cliquez sur le bouton [+] et ajoutez les colonnes qui contiennent les données d'entrée initiales.
    Dans cet exemple, ajoutez une colonne nommée content et sélectionnez Object dans la liste Type.
  4. Cliquez sur OK pour fermer cette boîte de dialogue.
  5. Sélectionnez Read the file as a string.
  6. Sélectionnez l'encodage dans la liste déroulante. Dans cet exemple, sélectionnez ISO-8859-15.

Configurer le composant tJSONValidator

Procédure

  1. Double-cliquez sur le tJSONValidator pour afficher sa vue Basic settings et définir ses propriétés.
  2. Si nécessaire, cliquez sur Sync columns afin de récupérer le schéma défini dans le composant d'entrée.
  3. Cliquez Add pour ajouter des lignes dans la zone Allocate.
  4. Sélectionnez la colonne d'entrée dans la liste déroulante.
  5. Définissez le schéma par rapport auquel les données doivent être validées, en saisissant le chemin d'accès au fichier du schéma, entre guillemets doubles.
    Dans cet exemple, "inputSchema.json".
    Configuration du tJSONValidator
    Note InformationsRemarque : Lorsque le dialecte $schema n'est pas défini dans le schéma, définissez la version brouillon du schéma JSON (JSON schema draft version) dans l'onglet Advanced settings.

Configurer le composant de sortie et exécuter le Job

Procédure

  1. Double-cliquez sur les composants tLogRow afin d'afficher leur vue Basic settings.
  2. Sélectionnez l'option Table (print values in cells of a table) pour les deux composants.
  3. Appuyez sur F6 pour enregistrer et exécuter le Job.

Résultats

Les enregistrements sont envoyés à l'un des composants tLogRow :
  • Si tous les enregistrements sont valides, ils sont envoyés via le lien FLOW.
  • Si au moins un enregistrement est invalide, tous les enregistrements sont envoyés via le lien Reject.

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – faites-le-nous savoir.