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

Utilisation de fichiers JSON

Chargez les données de fichiers JSON dans Qlik Cloud.

Vous pouvez charger les données de fichiers JSON comme vous chargeriez les données de tout autre fichier de données supporté par Qlik Cloud. Pour plus d'informations, consultez Chargement de données à partir de fichiers.

Vous pouvez charger des données depuis un fichier JSON dans le script de chargement via la commande LOAD. Par exemple :

LOAD * from [lib://DataFiles/xyz.json] (json);

Pour plus d'informations, consultez Load.

Les instructions Load peuvent filtrer ou retrier les champs en répertoriant les champs souhaités dans la liste de champs au lieu d'utiliser le caractère générique. Par exemple : LOAD a.b, b.c FROM […] (json);. Les champs inexistants ne déclenchent pas d'erreur.

Chargement d'objets imbriqués à partir de JSON

Si une valeur est un objet, les membres de cet objet sont utilisés pour étendre la table en lui ajoutant des champs supplémentaires. Chaque nom de champ est une combinaison du parent et de l'enfant. Par exemple, le JSON ci-dessous contient des objets imbriqués :


[
	{"name":{"first":"Alice","last":"Stephenson"}},
	{"name":{"first":"Bob"}},
	{"name":{"last":"Roberts"}}
]

Lors du chargement avec LOAD * FROM [lib://DataFiles/example.json] (json);, le résultat est la table de données suivante :

Exemple de table de données imbriquée
name.first name.last
Alice Stephenson
Bob Null
Null Roberts

Chargement de plusieurs tables

Les données JSON avec des tableaux doivent être chargées à l'aide de plusieurs instructions Load. Le contenu du tableau est haché et utilisé comme clé pour lier les tables.

Par exemple, le JSON ci-dessous contient plusieurs tables.


[
	{"a":[1,2],"b":[3,4]},
	{"a":[2,3],"b":[4,5]}
]

Il devra être chargé à l'aide de l'instruction Load suivante :

LOAD * FROM [...] (json); LOAD * FROM [...] (json, table is [/*/a]); LOAD * FROM [...] (json, table is [/*/b]);

Le spécificateur table is est le chemin d'accès à l'itérateur de la sous-table. Cela donne les tables de données suivantes :

Table 1
%Key_a %Key_b
<hash of [1,2]> <hash of [3,5]>
<hash of [2,3]> <hash of [4,5]>
Table 2
%Key_a a..@1
<hash of [1,2]> 1
<hash of [1,2]> 2
<hash of [2,3]> 2
<hash of [2,3]> 3
Table 3
%Key_b b..@1
<hash of [3,5]> 3
<hash of [3,5]> 4
<hash of [4,5]> 4
<hash of [4,5]> 5
Note Informations

Si vos données contiennent plusieurs tableaux de contenu identique, utilisez le mot-clé DISTINCT dans les instructions Load de portant sur la sous-table. Par exemple : LOAD DISTINCT * FROM [lib://DataFiles/Sales.json] (json, all tables);

Aperçu des premiers éléments des tableaux

La liste de champs peut être utilisée lors du chargement des données pour afficher les premiers éléments des tableaux qui, sinon, seraient chargés sous forme de sous-tables. Par exemple

[
	{"pos":[1,2,3]},
	{"pos":[4,5,6]}
]

Le chargement peut s'effectuer à l'aide de l'instruction Load suivante :

LOAD pos.0 AS x, pos.1 AS y, pos.2 AS z FROM […] (json);.

Le résultat est la table suivante.

x y z
1 2 3
4 5 6

Chargement de toutes les tables

Vous pouvez charger toutes les tables en spécifiant all tables au lieu de Table is. Par exemple :

LOAD * FROM [lib://DataFiles/Sales.json] (json, all tables);

Limitations

Les fichiers JSON présentent les limitations suivantes :

  • Une seule instruction LOAD à partir d'un JSON peut charger un maximum de :

    • 5 000 champs

    • 1 000 tables

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 !