Fichiers JSON

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

Les documents JSON pouvant revêtir différentes formes, la plateforme peut extraire des données à partir des fichiers JSON, des fichiers Lignes JSON et des dictionnaires JSON.

Remarque

Si la plateforme n'extrait pas intégralement un document présentant une structure complexe, utilisez l'un des processeurs JSON pour terminer l'extraction.

Fichier JSON

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

  • Si un document est un tableau JSON, un enregistrement sera créé pour chaque objet du tableau (les clés seront utilisées en tant que noms de colonne).

  • Si le document est un objet JSON, le paramètre "Racine JSON" doit contenir un chemin d'accès séparé par des points menant au tableau contenu dans votre objet. S'il n'est pas inclus, la plateforme essaye les items.

Pour chaque élément dans le tableau, la plateforme peut suivre un autre chemin d'accès 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 de caractères)

  • 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 de caractères, un champ à valeurs multiples est créé avec toutes les chaînes de caractères séparées par un point-virgule (;``).

Création

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

Configuration

Paramètres JSON

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, content.trains). 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.

Objet JSON

Chemin d'accès relatif à l'objet JSON à extraire

Une fois le dossier racine JSON défini, si l'aperçu montre des colonnes non pertinentes et si l'objet JSON a été extrait en tant que valeur d'une colonne, indiquez le nom de cette colonne dans le champ Objet JSON.

Extraire le nom de fichier

Nom

Description

Utilisation

Extraire le nom de fichier

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

Par défaut, cette option est désactivée. Activez-la pour extraire le nom de 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 se trouve directement à la racine. Par conséquent, vous pouvez laisser le champ Racine JSON vide.

Le jeu de données résultant sera :

name origin destination
Agra Express Agra Cantt New Delhi
Gour Express Balurghat Sealdah

Remarque

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, le dossier racine JSON correct est content.trains. Si content.trains est défini en tant que dossier 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 nombre id, l'objet JSON correct est info. Si info est défini en tant qu'objet JSON, le jeu de données résultant sera :

name origin destination
Agra Express Agra Cantt New Delhi
Gour Express Balurghat Sealdah

Lignes JSON

Vous pouvez utiliser un fichier Lignes JSON en tant que source. Dans les fichiers Lignes JSON, chaque ligne est un document JSON d'une seule ligne. Contrairement à chacune des lignes qu'il contient, le document en lui-même n'est pas un document JSON valide.

Deux modes sont pris en charge :

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

  • 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, consultez Récupérer un fichier.

Configuration

Configuration

Nom

Description

Utilisation

Extraire le nom de fichier

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

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

Numéro de la première ligne

Pour les fichiers qui ne commencent pas dès la première ligne, vous pouvez définir quelle ligne doit être considérée comme telle. 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. Indiquez 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 champ

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 en tant que source. La plateforme extrait un document JSON valide (tableau ou objet) dans un jeu de données constitué de plusieurs enregistrements.

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

  • une colonne pour héberger 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 plutôt qu'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 à valeurs multiples est créé avec toutes les chaînes de caractères séparées par un point-virgule (;``).

Création

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

Configuration

Configuration

Nom

Description

Utilisation

Extraire le nom de fichier

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

Par défaut, cette option est désactivée. Activez-la pour extraire le nom de 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, content.trains). 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". Indiquez le nouveau label de la colonne "key" dans le champ 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 le champ Racine JSON vide, le jeu de données résultant sera :

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

Exemple 2 :

{
  "results": {
    "datasets": [{
        "abc": {
          "title": "A B C",
          "description": "A description about ABC"
        }
      },
      {
        "xyz": {
          "title": "D E F",
          "description": "Another description"
        }
      }
    ]
  }
}

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

  • results.datasets mène au tableau

  • item effectue une itération dans le tableau et récupère chaque objet

key description title
abc A description about ABC A B C
xyz Another description D E F