PDA

View Full Version : JSON in RPG verarbeiten



Seiten : 1 [2]

andreaspr@aon.at
13-07-16, 14:05
Ja die Doku ist leider nicht immer vollständig.
Im Skript für meine Schulungen habe ich hin und wieder selbst mühsam herausfinden müssen wie diverse Funktionen arbeiten.

In diesem Fall musst du den JSON String oder File zuerst in ein CLOB konvertieren und dann mit der Funktion JSON2BSON in ein BLOB konvertieren.

Hier ein Beispiel:

{"myroot": { "id": 123} }

CREATE OR Replace VARIABLE pranlib.jsonclob clob(16M);
CREATE OR Replace VARIABLE pranlib.jsonblob blob(16M);

SET pranlib.jsonclob = GET_CLOB_FROM_FILE('/home/prouza/json/test1.json');

SET pranlib.jsonblob = SYSTOOLS.JSON2BSON(pranlib.jsonclob);

VALUES (systools.JSON_VAL2(pranlib.jsonblob , 'myroot.id', 'i:na'))


JSON_VAL2
1. Parameter: Die Daten als BLOB
2. Parameter: Der Pfad (xpath)
3. Parameter: Der Datentyp der zurückkommt. i=Zahl und "na"=kein array

lg Andreas

dschroeder
13-07-16, 14:15
Herzlichen Dank!
Dieter

andreaspr@aon.at
13-07-16, 14:19
Das ganze geht auch in einem Step:

VALUES (SYSTOOLS.JSON_VAL2(SYSTOOLS.JSON2BSON(CAST ('{"myroot": { "id": 123} }' AS CLOB(10K))), 'myroot.id', 'i:na'))

dschroeder
13-07-16, 14:23
Danke. Werde es ausprobieren!