http json-lookup(a,b,c,d,e,f,g,h,i,j,k,l,m)


Mit dieser Funktion kann man eine JSON-Datei per HTTP auslesen. Dabei wird die komplette Datei als JSON-Objekt einlesen, welches man dann später abfragen kann, siehe Funktion execute json xpath(key a, expression b, array as text c, ignore exception d, decode e).

Der Rückgabewert der Funktion ist der HTTP-Response-Status-Code, wenn Parameter d nicht verwendet wird. Mit Parameter d kann man einen JSONPath-Ausdruck auf das JSON-Objekt anwenden. Der Rückgabewert der Funktion ist dann das Ergebnis dieses JSONPath-Ausdrucks.

Parameterbeschreibung


Parameter

Beschreibung

a

Die URL, über die die JSON-Datei abgefragt werden soll. Beispiel: http://example.com

b

(optional) Fall true, dann erfolgt die HTTP-Abfrage über den DMZ-Server (falls dieser existiert). Default: false.

c

Schlüsselname des zu erzeugenden JSON-Objekts im Cache.

d

Der JSONPath-Abfrage-Ausdruck. Siehe https://github.com/json-path/JsonPath.

e

(optional) Die zu verwendende HTTP-Methode. Verwenden Sie zur Auswahl eines Wertes die drei Punkte. Default: GET.

f

Wenn hier die ID eines HTTP(S)-Kanals angegeben wird, dann erfolgt die HTTP-Abfrage über die dort angegebenen Verbindungsparameter. Das kann z. B. nötig sein, wenn eine Authentifizierung erforderlich ist. Hinweis: Sie können über den Button mit den drei Punkten einen Kanal auswählen und bekommen dann direkt die ID geliefert.

g

Will man weitere HTTP-Header in der HTTP-Anfrage verwenden (oder vorhandene überschreiben), kann hier der Name einer Map angegeben werden. Der Schlüssel eines Eintrags in der Map muss der Name des HTTP-Headers sein und der Wert des Eintrags ist dann der Wert für diesen HTTP-Header.

h

Body-Daten (nicht für GET, HEAD, DELETE).

i

(optional) Falls false, dann wird eine aufgetretene Exception ignoriert. Default: <leer> (== false).

j

(optional) Die Zeichenkodierung. Default: UTF-8.

k

(optional) Timeout in Sekunden. Default: 90.

l

(optional) Anzahl an Versuchen (Retries). Default: 0. Hinweis: Diese Einstellung greift nur, wenn kein Statuscode zurück geliefert wird. Kommt ein Statuscode 4xx oder 5xx zurück, wird kein Retry ausgelöst. In diesem Fall muss ein manuelles Fehler-Handling implementiert werden.

m

(optional) Bei true wird ein URL-Encoding der Query der URL a durchgeführt. Default: false. Beispiel: Aus https://example.com?select id from mytable where num > 500 wird dann https://example.com?select%20id%20from%20mytable%20where%20num%20%3E%20500

n

(optional) Liefert die JSONPath-Abfrage ein Array in welchem Sonderzeichen enthalten sind, wie z. B. das /-Zeichen, dann werden diese per Default escaped mit dem \-Zeichen. Mit true können Sie dieses Verhalten unterbinden. Default: false.