Processeur Tableau JSON vers multivalué
Ce processeur extrait les différentes valeurs d'un champ contenant un tableau JSON et les concatène dans un champ à valeurs multiples.
La propriété multivalued ne sera pas définie automatiquement dans le champ. Par conséquent, n'oubliez pas de l'activer dans les paramètres du champ et d'utiliser les mêmes séparateurs que dans le processeur.
Valeur d'origine | Après le processeur |
|
|
Configurer le processeur
Le paramètre "Règle iJSON vers tableau" fonctionne exactement comme dans le processeur "Extraire depuis un objet JSON" et doit contenir le tableau à concaténer (représenté par la règle .item
).
Si le champ contient directement le tableau JSON, placez simplement l'
item
en tant que règle iJSON.Si l'élément final est un tableau, la règle iJSON doit se terminer par
.item
, ce qui signifie que l'objet atteint doit être traité comme un tableau d'éléments dans la syntaxe iJSON.Si vous souhaitez continuer à parcourir les éléments à l'intérieur du tableau, vous pouvez continuer à ajouter des noms de clé après le
.item
, mais veillez à vérifier que ce chemin est valide pour chaque objet dans le tableau.
Pour définir les paramètres du processeur Tableau JSON vers multivalué, suivez les indications du tableau ci-dessous.
Label | Description | Exemple |
Champ | Nom du champ contenant le tableau JSON | data |
Règle iJSON vers tableau | Règle iJSON à itérer dans le tableau JSON ci-dessus. Une règle iJSON se construit avec les noms de tous les champs de la racine JSON des données à extraire, séparés par des points. La position du tableau est indiquée par le mot-clé | item.metaB |
Séparateur | Caractère ou chaîne de caractères utilisé pour séparer les différentes valeurs trouvées | , |
Champ de sortie | Nom du champ qui contiendra l'élément extrait |
Exemple
Règles iJSON à extraire du champ du tableau JSON suivant :
[
{
"metaB" : "value1",
"int": 5,
"boolean": false
},
{
"metaB" : "value2",
"int": 6,
"boolean": true
},
]
item.metaB
:value1,value2
item.int
:5,6
item.boolean
:false,true
{ "metaA": "Joe",
"bloc" : [
{
"metaB" : "value1",
"int": 5,
"boolean": false,
"sub" : { "sub_sub" : "sub_value"}
},
{
"metaB" : "value2",
"int": 6,
"boolean": true,
"sub" : { "sub_sub" : "other_sub_value"}
},
]
}
bloc.item.metaB
:value1,value2
bloc.item.sub.sub_sub
:sub_value,other_sub_value