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

Importer un schéma JSON

Talend Data Mapper vous permet de créer une structure JSON à partir d'un schéma JSON.

Pour plus d'informations concernant le support d'éléments de schémas JSON, consultez Support des schémas JSON.

Talend Data Mapper n'utilise pas les schémas JSON pour valider les documents JSON. Ils sont utilisés uniquement en tant que modèles, pour créer des structures JSON. Par exemple, si une chaîne de caractères est définie comme "maxLength": 15, aucune erreur n'est retournée si la chaîne de caractères dépasse les 15 caractères.

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

Avant de commencer

  • Vous avez un fichier de schéma JSON à importer.
  • Vous avez ajouté toute référence devant être ignorée à la liste de blocage Reference blacklist dans Window > Preferences > Mapping > Representations. Pour plus d'informations, consultez Préférences des représentations.

Pourquoi et quand exécuter cette tâche

Cet exemple utilise le schéma JSON suivant :
{
    "$id": "https://example.com/arrays.schema.json",
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "description": "A representation of a list of customers.",
    "type": "object",
    "properties": {
        "customers": {
            "type": "array",
            "items": {
                "$ref": "#/$defs/customer"
            }
        }
    },
    "$defs": {
        "customer": {
            "type": "object",
            "properties": {
                "LastName": {
                    "type": "string",
                    "description": "The customer's last name."
                },
                "firstName": {
                    "type": "string",
                    "description": "The customer's last name."
                },
				"address": {
					"type": "object",
					"description": "The customer's address.",
					"properties": {
						"street": {
							"type": "string"
						},
						"postCode": {
							"type": "integer"
						},
						"city": {
							"type": "string"
						},
						"state": {
							"type": "string"
						},
						"country": {
							"type": "string"
						}
					}
				}
					
            }
        }
    }
}

Procédure

  1. Dans l'onglet Data Mapper, développez le nœud Hierarchical Mapper et cliquez-droit sur Structures.
  2. Cliquez sur New > Structure.
  3. Dans l'assistant qui s'ouvre, sélectionnez Import a structure definition et cliquez sur Next (Suivant).
  4. Sélectionnez le type d'import, JSON Schema dans cet exemple, puis cliquez sur Next.
  5. Sélectionnez le fichier à utiliser :
    • Sélectionnez une ressource existante dans votre espace de travail.
    • Importez un fichier local.
    • Saisissez l'URL du fichier.
  6. Cliquez sur Next.
  7. Sélectionnez un dossier et saisissez le nom de la nouvelle structure, puis cliquez sur Next (Suivant).
  8. Cliquez sur Finish.

Résultats

Une structure JSON est créée, avec tous les éléments spécifiés dans le schéma. Si vous importez un document échantillon suivant ce schéma, vous pouvez voir les éléments mis en valeur correctement. Avec le schéma utilisé dans cet exemple, vous pouvez importer l'échantillon suivant :
{
   "customers":[
      {
         "lastName":"Smith",
         "firstName":"Jane",
         "address":{
            "street":"4876 Felosa Drive",
            "postCode":90017,
            "city":"Los Angeles",
            "state":"CA",
            "country":"United States"
         }
      },
	  {
         "lastName":"Doe",
         "firstName":"John",
         "address":{
            "street":"4862 Parkway Street",
            "postCode":92203,
            "city":"Bermuda Dunes",
            "state":"CA",
            "country":"United States"
         }
      }
   ]
}
Le résultat est le suivant :

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 – dites-nous comment nous améliorer !