Connecteurs 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, il existe 3 connecteurs JSON permettant d’extraire des données à partir d’un fichier JSON :

  • le connecteur Fichier JSON,

  • le connecteur Ligne JSON,

  • le connecteur JSON Dict.

Remarque

If the connector does not manage to fully extract a document with a complex structure, use one of the JSON processors to complete the extraction.

Fichier JSON

Ce connecteur 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, le connecteur essaye les items.

Pour chaque élément dans le tableau, le connecteur peut suivre un autre chemin d’accès avant d’extraire les enregistrements grâce au paramètre “objet JSON”.

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 sera utilisé tel quel

    • s’il contient des chaînes de caractères, un champ à valeurs multiples sera créé avec toutes les chaînes de caractères séparées par un point-virgule (”;”)

Création

Consultez comment collecter un fichier.

Configuration

Nom

Description

Utilisation

Extraire le nom de fichier

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

Par défaut, la case n’est pas cochée. Cochez la case pour extraire le nom de fichier dans une autre colonne.

Racine JSON

Chemin d’accès du tableau JSON qui contient les objets qui vont devenir les enregistrements du jeu de données.

Si le tableau JSON se trouve à la racine, laissez la zone de texte vide. Si le fichier JSON est un objet JSON, indiquez le chemin d’accès ijson au tableau dans la zone de texte.

Remarque

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.

Objet JSON

Chemin d’accès relatif à l’objet JSON à extraire.

Une fois le dossier racine JSON défini (ou laissé vide), 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 la zone de texte de l’objet JSON.

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 n’avez pas besoin de renseigner la configuration du dossier racine JSON.

Le jeu de données résultant sera (l’ordre des colonnes peut varier) :

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

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 qui en résulte sera :

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

Ligne JSON

Ce connecteur attend un fichier dans lequel 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.

Le connecteur prend en charge 2 modes :

  • 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 : sera utilisé tel quel

  • Objet JSON : sera utilisé tel quel

Création

Consultez comment collecter un fichier.

Configuration

Nom

Description

Utilisation

Extraire le nom de fichier

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

Par défaut, la case n’est pas cochée. Cochez la case pour extraire le nom de fichier dans une autre colonne.

Numéro de la première ligne

Pour les fichiers qui ne commencent pas dès la première ligne, vous pouvez décider 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 titres de colonne.

Par défaut, la case est cochée. Les valeurs de la première ligne deviennent des labels de champs. Décochez la case si la première ligne contient des données plutôt que des titres : les labels de champs seront vides par défaut.

JSON Dict

Ce connecteur extrait un document JSON valide (tableau ou objet) dans un jeu de données constitué de plusieurs enregistrements.

Ce connecteur attend un objet JSON dans lequel chaque clé contient un enregistrement. Il crée des enregistrements comportant une colonne pour la clé, et une colonne pour chaque attribut de l’objet correspondant (ou une seule colonne nommée “value” si la valeur est une chaîne de caractères et non 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 sera utilisé tel quel

    • s’il contient des chaînes de caractères, un champ à valeurs multiples sera créé avec toutes les chaînes de caractères séparées par un point-virgule (”;”)

Création

Consultez comment collecter un fichier.

Configuration

Nom

Description

Utilisation

Extraire le nom de fichier

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

Par défaut, la case n’est pas cochée. Cochez la case pour extraire le nom de fichier dans une autre colonne.

Racine JSON

Chemin d’accès à l’objet JSON qui contient les enregistrements.

Si l’objet JSON se trouve à la racine, laissez la zone de texte vide. Dans le cas contraire, indiquez le chemin d’accès ijson à l’objet dans la zone de texte.

Remarque

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.

Nom du champ de la clé

Label de la colonne “key”.

Par défaut, “key”. Indiquez le nouveau label de la colonne “key” dans la zone de texte. Le label et l’identifiant technique de la colonne sont 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 le dossier racine JSON est laissé 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