JSON-Array zu mehrwertigem Feld¶
Dieser Prozessor extrahiert mehrere Werte aus einem Feld mit einem JSON-Array und verknüpft sie in einem mehrwertigen Feld.
Hinweis
Die Eigenschaft "Mehrwertig" wird nicht automatisch im Feld gesetzt, weshalb Sie sie in den Feldparametern aktivieren müssen, gemeinsam mit dem gleichen Trennzeichen wie im Prozessor.
Ursprünglicher Wert |
Nach dem Prozessor |
{"a":["b","c","d"]} |
b,c,d |
Den Prozessor einrichten¶
Der Parameter "iJSON-Regel zu Array" funktioniert genau wie der Prozessor "Extrahieren von JSON" und sollte das zu verknüpfende Array beinhalten (dargestellt mit der iJSON-Regel ".item").
Wenn das Feld das JSON-Array direkt enthält, setzen Sie einfach "item" als iJSON-Regel.
Ist das endgültige Element ein Array, muss die iJSON-Regel mit ".item" enden, d. h. das erreichte Objekt muss wie ein Array von Elementen in der iJSON-Syntax behandelt werden.
Wenn Sie an den Items innerhalb des Arrays interessiert sind, können Sie nach dem ".item" Schlüsselnamen hinzufügen, achten Sie jedoch darauf, dass der Pfad für jedes Objekt im Array gültig ist.
Befolgen Sie die Anweisungen der unteren Tabelle, um die Parameter des Prozessors "JSON-Array zu mehrwertigem Feld" einzurichten.
Beschriftung |
Beschreibung |
Beispiel |
---|---|---|
Feld |
Name des Feldes, das das JSON-Array enthält |
Daten |
iJSON-Regel nach Array |
iJSON-Regel, um im oben genannten JSON-Array zu iterieren. Eine iJSON-Regel wird mit den Namen des gesamten Feldes aus dem JSON-Root für die zu extrahierenden Daten aufgebaut (getrennt mit einem Punkt). Die Position des Arrays wird mit dem Keyword "item" angegeben. |
item.metaB |
Trennzeichen |
Zeichen oder Zeichenfolge, mit dem/der die verschiedenen gefundenen Werte getrennt werden |
, |
Ausgabefeld |
Name des Feldes, das das extrahierte Element enthalten wird |
Beispiel¶
iJSON-Regeln, um aus dem folgenden JSON-Array-Feld zu extrahieren:
[
{
"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