Aller au contenu

Lit une colonne contenant du texte JSON et la développe en lignes de sortie, une par valeur trouvée dans le document. C’est le pendant de Table XML Parse et l’équivalent PlaidCloud de l’outil Alteryx JSON Parse.

Utilisez-la lorsqu’un système en amont vous fournit une charge utile JSON dans une seule colonne et que vous avez besoin de son contenu sous forme de lignes et de colonnes ordinaires.

JSON imbriqué{“id”: 1,“user”: { “name”:“Ann” },“tags”: [“a”,“b”]}analysecolonnes à platiduser.nametags1Anna, b
Table JSON Parse aplatit un JSON imbriqué en colonnes : les objets imbriqués deviennent des chemins séparés par des points (user.name) et les tableaux sont développés, si bien que les étapes en aval travaillent sur de simples lignes et colonnes.

La colonne contenant le texte JSON à analyser.

  • Nom et valeur uniquement (par défaut) : chaque ligne de sortie contient JSON_Name et JSON_ValueString. C’est le plus simple, et cela suffit lorsque tout ce qui se trouve en aval traite les valeurs comme du texte.
  • Valeurs typées : désactivez l’option de champ unique pour ajouter en parallèle les colonnes de valeur propres à chaque type, de sorte que les nombres et les booléens arrivent sous forme de nombres et de booléens plutôt que de chaînes.

Désactivé par défaut. Activez cette option pour répéter les autres colonnes de l’enregistrement d’entrée sur chaque ligne de valeur, afin que les valeurs analysées restent liées à l’enregistrement dont elles proviennent, sans étape de jointure distincte.

Sortie (json_layout) choisit une autre forme de sortie. Chacune conserve une ligne par ligne d’entrée :

  • Large : une colonne par chemin de clé (wide) : les colonnes d’entrée, moins le champ JSON sauf s’il est inclus, plus une colonne de texte par chemin de clé séparé par des points, NULL lorsqu’un document n’en a pas.
  • Une colonne par requête JSONPath (paths) : les colonnes d’entrée plus une colonne par requête JSONPath. Répertoriez les requêtes dans Requêtes JSONPath (json_paths), chacune avec un paramètre Colonne, JSONPath, Type et Plusieurs correspondances (target, path, dtype, multi) : path est un JSONPath (noms, index, caractères génériques, analyse approfondie, tranches, unions et filtres), dtype vaut text, integer, bigint, double, boolean ou json, et multi est vide pour la première correspondance (NULL s’il n’y en a aucune), list pour toutes les correspondances sous forme de liste, ou paths pour les chemins qui correspondent. Au lieu de la liste, Requêtes à partir d’une table (json_dictionary) lit les requêtes dans les lignes d’une table : {source, path, type, output} désignent la table et ses colonnes contenant chaque chemin, type et nom de colonne de sortie.
  • Colonnes telles que les crée KNIME JSON to Table (table) : les colonnes d’entrée plus les colonnes que le nœud JSON to Table de KNIME produit à partir des documents. Les options JSON vers table (json_table) le paramètrent, à commencer par Nommer les colonnes d’après leur chemin JSON (paths), Séparateur de chemin (separator, . par défaut) pour joindre les segments du chemin, Tableaux (arrays) parmi GenerateCollectionCells, GenerateColumns ou KeepAllArrayAsJsonArray, Niveaux à développer (levels, 0 pour tous) et Omettre les objets qui ont été développés (omit_objects, true par défaut) pour exclure les valeurs d’objet.

Avec la disposition JSONPath ou JSON vers table, activez Omettre le champ JSON de la sortie (json_remove_source) pour retirer le champ JSON du résultat.