# Umgang mit JSON-Arrays

# Elementzugriff

Um auf die Elemente eines JSON-Arrays zugreifen zu können, kann die Klasse SpinList (opens new window) von Camunda genutzt werden. Das unten stehende Beispiel aus einem Script-Task zeigt den Zugriff auf das erste Element einer Liste, das in eine neue Variable gespeichert wird.

/*
* Erstes Element aus der Liste der DMS-COOs
* an eine Variable des Execution-Context uebergeben.
*/
const fileCoos = execution.getVariable('sachakten');
const spinListFileCoos = S(execution.getVariable('sachakten')).elements(); //SpinList
const firstCoo = spinListFileCoos.get(0);
execution.setVariable('firstCoo', firstCoo);
1
2
3
4
5
6
7
8

# Konkatenieren

Um zwei Listen zusammenzuführen und sie wiederum an eine Prozessvariable zu übergeben, kann die Methode addAll() der SpinList (opens new window) verwendet werden. Da für Listen von COO-Nummern pures JSON-Array verwendet wird, was valides JSON ist, muss die Liste zunächst mit toString ausgegeben und mit S() wieder in ein JSON-Objekt umgewandelt werden. Eine direktere Variante ist leider nicht bekannt.

const coos_1 = execution.getVariable('coos_1');
const coos_2 = execution.getVariable('coos_2');

const coosSpinList_1 = S(coos_1).elements(); //SpinList
const coosSpinList_2 = S(coos_2).elements(); //SpinList

coosSpinList_1.addAll(coosSpinList_2);

execution.setVariable('contentCoos', S(coosSpinList_1.toString()));
1
2
3
4
5
6
7
8
9

Die Variable 'contentCoos' ist nun vom Typ Json.