Fichiers JSON

Modifié

JSON est un format standard ouvert qui utilise du texte lisible par l'homme pour transmettre des objets de données constitués de paires clé-valeur. C'est le format de données le plus courant pour créer des API Web.

Comme les documents JSON peuvent avoir de nombreuses formes différentes, la plate-forme peut extraire des données à partir de fichiers JSON, de fichiers Lignes JSON et de dictionnaires JSON.

Si la plateforme n'extrait pas complètement un document avec une structure complexe, utilisez l'un des processeurs JSON pour terminer l'extraction.

Fichier JSON

Vous pouvez utiliser un fichier JSON comme source. A partir de ce fichier, la plateforme extrait un document JSON valide (tableau ou objet) en un jeu de données de plusieurs enregistrements :

  • Si le document est un tableau JSON, un enregistrement sera créé pour chaque objet à l'intérieur du tableau (les clés seront utilisées comme noms de colonne).

  • Si le document est un objet JSON, le paramètre "Racine JSON" doit contenir un chemin séparé par des points vers le tableau à l'intérieur de votre objet. S'il n'est pas fourni, la plate-forme essaie items .

Pour chaque élément à l'intérieur du tableau, la plateforme peut suivre un autre chemin avant d'extraire les enregistrements avec le paramètre "objet JSON".

Types de champs pris en charge

  • Champs normaux (décimal, booléen, chaîne)

  • Objet JSON : utilisé tel quel

  • Tableau:

    • Si le tableau contient des objets JSON, il est utilisé tel quel.

    • Si le tableau contient des chaînes, un champ à plusieurs valeurs est créé avec toutes les chaînes séparées par un point-virgule ( ; ).

Création

Pour plus d'informations sur l'ajout d'une source de fichier, voir Récupération d'un fichier.

Configuration

Nom

Description

Utilisation

Racine JSON

Le chemin d'accès ijson au tableau JSON qui contient les objets à extraire en tant qu'enregistrements de jeu de données

ijson est une syntaxe permettant de naviguer dans les objets JSON. Elle consiste à séparer les noms d’attribut avec des points (par exemple, ). Des fonctionnalités supplémentaires sont disponibles pour les utilisateurs avancés.

Si le tableau JSON se trouve à la racine du document, laissez la zone racine JSON vide. Si le fichier JSON est un objet JSON, entrez le chemin ijson vers le tableau dans la zone racine JSON .

Objet JSON

Chemin relatif vers l'objet JSON à extraire

Après avoir défini la racine JSON, si l'aperçu affiche des colonnes non pertinentes et que l'objet JSON a été extrait en tant que valeur d'une colonne, entrez le nom de cette colonne dans la zone Objet JSON .

Nom

Description

Utilisation

Extraire le nom du fichier

Crée une nouvelle colonne avec le nom du fichier source.

Par défaut, cette option est désactivée. Activez cette option pour extraire le nom du fichier dans une colonne supplémentaire.

Exemples

Exemple 1:

[
 {
 "name": "Agra Express",
 "origin": "Agra Cantt",
 "destination": "New Delhi"
 },
 {
 "name": "Gour Express",
 "origin": "Balurghat",
 "destination": "Sealdah"
 }
 ]

Dans ce fichier JSON, le tableau JSON est directement à la racine. Vous pouvez laisser la zone racine JSON vide.

Le jeu de données résultant sera :

Nom

origine

destination

Agra express

Agra Cantt

New Delhi

Gour Express

Balurghat

Sealdah

L'ordre des colonnes peut varier.

Exemple 2 :

{
 "filename": "trains.json",
 "content": {
 "trains": [
 {
 "id": 123,
 "info": {
 "name": "Agra Express",
 "origin": "Agra Cantt",
 "destination": "New Delhi"
 }
 },
 {
 "id": 555,
 "info": {
 "name": "Gour Express",
 "origin": "Balurghat",
 "destination": "Sealdah"
 }
 }
 ]
 }
 }

Pour ce fichier JSON complexe, la racine JSON correcte est content.trains . Si content.trains est défini comme racine JSON, le jeu de données résultant sera :

Id

Info

123

{"origin": "Agra Cantt", "destination": "New Delhi", "name": "Agra Express"}

555

{"origin": "Balurghat", "destination": "Sealdah", "name": "Gour Express"}

Pour extraire uniquement les objets JSON info et ignorer le numéro d' id , l'objet JSON correct est info . Si info st défini en tant qu'objet JSON, le jeu de données résultant sera :

Nom

origine

destination

Agra express

Agra Cantt

New Delhi

Gour Express

Balurghat

Sealdah

Lignes JSON

Vous pouvez utiliser un fichier Lignes JSON comme source. Dans les fichiers Lignes JSON, chaque ligne est un document JSON d'une ligne. L'ensemble du fichier n'est pas un document JSON valide, mais chaque ligne l'est.

Deux modes sont pris en charge :

  • Un tableau JSON sur chaque ligne (ou un tableau globa)

  • Un objet JSON sur chaque ligne

Types de champs pris en charge

  • Champs normaux (décimal, chaîne de caractères)

  • Tableau : utilisé tel quel

  • Objet JSON : utilisé tel quel

Création

Pour plus d'informations sur l'ajout d'une source de fichier, voir Récupération d'un fichier .

Configuration

Nom

La description

Usage

Extraire le nom de fichier

Crée une nouvelle colonne avec le nom du fichier source.

Par défaut, cette option est désactivée. Activez cette option pour extraire le nom du fichier dans une colonne supplémentaire.

Numéro de la première ligne

Pour les fichiers qui ne commencent pas à la première ligne, il est possible de définir quelle ligne est considérée comme la première. Les lignes précédentes seront ignorées du jeu de données.

Par défaut, le jeu de données commence à la ligne 1. Entrez le numéro de la ligne qui doit être considérée comme le début du jeu de données.

En-têtes

Pour les fichiers dont la première ligne contient des noms de champs

Par défaut, cette option est activée. Les valeurs de la première ligne deviennent des labels de champs. Désactivez cette option si la première ligne ne contient pas de noms de champs mais des données : les labels de champs seront vides par défaut.

JSON Dict

Vous pouvez utiliser un dictionnaire JSON comme source. La plateforme extrait un document JSON valide (tableau ou objet) dans un jeu de données de plusieurs enregistrements.

La plateforme attend un objet JSON où chaque clé contient un enregistrement. La plateforme crée alors des enregistrements avec :

  • une colonne pour contenir la clé

  • une colonne pour chaque attribut de l'objet correspondant (ou une colonne unique nommée "value" si la valeur est une chaîne de caractères au lieu d'un objet).

Types de champs pris en charge

  • Champs normaux (décimal, booléen, chaîne de caractères)

  • Objet JSON : sera utilisé tel quel

  • Tableau:

    • Si le tableau contient des objets JSON, il est utilisé tel quel.

    • Si le tableau contient des chaînes de caractères, un champ à plusieurs valeurs est créé avec toutes les chaînes séparées par un point-virgule ( ; ).

Création

Pour plus d'informations sur l'ajout d'une source de fichier, voir Récupération d'un fichier .

Configuration

Nom

Description

Utilisation

Extraire le nom du fichier

Crée une nouvelle colonne avec le nom du fichier source.

Par défaut, cette option est désactivée. Activez cette option pour extraire le nom du fichier dans une colonne supplémentaire.

Racine JSON

Le chemin d'accès ijson au tableau JSON qui contient les objets à extraire en tant qu'enregistrements de jeu de données

ijson est une syntaxe permettant de naviguer dans les objets JSON. Elle consiste à séparer les noms d’attribut avec des points (par exemple, ). Des fonctionnalités supplémentaires sont disponibles pour les utilisateurs avancés.

Si le tableau JSON se trouve à la racine du document, laissez le champ Racine JSON vide. Si le fichier JSON est un objet JSON, indiquez le chemin d'accès ijson au tableau dans le champ Racine JSON.

Nom du champ de la clé

Label de la colonne "key".

La valeur par défaut est "key". Saisissez le nouveau label de la colonne "key" dans la case Nom du champ de la clé. Le label et l’identifiant technique de la colonne seront modifiés.

Exemples

Exemple 1:

{
 "2016": {
 "type1": {
 "price": 10,
 "color": "blue",
 "available": true
 },
 "type2": {
 "price": 9,
 "color": "red",
 "available": true
 }
 },
 "2015": {
 "type1": {
 "price": 10.5,
 "color": "teal",
 "available": true
 },
 "type2": {
 "price": 9.1,
 "color": "crimson",
 "available": true
 }
 }
 }

Si vous laissez la zone racine JSON vide, le jeu de données résultant sera :

clé

type 1

type 2

2016

{"color": "bleu", "disponible": vrai, "prix": 10}

{"color": "rouge", "disponible": vrai, "prix": 9}

2015

{"color": "bleu sarcelle", "disponible": vrai, "prix": 10.5}

{"color": "cramoisi", "disponible": vrai, "prix": 9.1}

Exemple 2 :

{
 "results": {
 "datasets": [{
 "abc": {
 "title": "AB C",
 "description": "A description about ABC"
 }
 },
 {
 "xyz": {
 "title": "DE F",
 "description": "Another description"
 }
 }
 ]
 }
 }

Pour ce fichier JSON complexe, la racine JSON correcte est results.datasets.item .

  • results.datasets mène au tableau

  • item itère à l'intérieur du tableau et récupère chaque objet

Key

Description

Titre

abc

Une description de l'ABC

abc

xyz

Un autre descriptif

DÉF