-
JSON in RPG verarbeiten
Hallo,
wir möchten ein JSON-Dokument parsen. Weiß jemand, ob es dafür bereits Funktionen von IBM gibt? Brigitta Hauser und Klaus Peter Luttkus haben auf der Konferenz Vorträge gehalten, in denen sie auf die Funktionen in SYSTOOLS hingewiesen haben.
Wir sind noch auf 7.1, allerdings mit dem aktuellsten TR. Weiß jemand, ob es da bereits Funktionen dafür gibt? Bzw. ab welchem Release gibt es die Funktionen?
Gibt es vielleicht einen anderen Weg, JSON zu parsen? Ich möchte das allerdings im RPG machen bzw. von dort aus steuern.
Laut IBM-Doku gibt es diese 3 Wege:
Code:
- db2nosql -- The DB2 JSON command line processor
- The DB2 JSON Java API
- SYSTOOLS.BSON2JSON -- A function to retrieve a JSON document stored within a DB2 for i table
Über einen command line processor in der QSHELL kann ich mir das auch nicht gerade gut vorstellen.
Die SYSTOOLS-Funktion finde ich bei uns nicht. Klingt aber auch nicht gerade so, als wäre das das passende.
Wir macht ihr das bzw. macht ihr das überhaupt?
Dieter
-
Hallo
Es gibt da einen YAJL RPG Wrapper von Scott Klement: https://www.scottklement.com/yajl/
Damit kannst du JSON generieren & parsen.
LG,
Sam
Nachtrag: Rainer Ross kann dir bestimmt um einiges mehr dazu erzählen. Er hat soweit ich weiß YAJL im Produktiveinsatz.
-
Wenn du in der QSHELL folgenden Befehl absetzt:
/QIBM/ProdData/OS/SQLLIB/bin/db2nosql -setup enable
Werden in der SYSTOOLS die JSON SQL Funktionen erstellt.
Geht auch schon mit 7.1 bei entsprechenden PTF stand.
Näheres kannst du auch hier nachlesen:
http://www.mcpressonline.com/databas...db2-for-i.html
lg Andreas
-
Vielen Dank, Sam.
Das Tool habe ich mir bereits mit einem Kollegen zusammen angesehen. Ich fände es nur schade, etwas kompliziertes zu bauen oder zu nutzen, wenn IBM da vielleicht schon das passende zur Verfügung stellt. Deshalb meine Frage, ob es da in den SYSTOOLS oder sonstwo etwas passendes gibt.
Wir denken auch über die Idee nach, JSON in XML umzuwandeln und dann einzulesen. Da scheint es mehr zu geben (XML-INTO oder eben von IBM gelieferte SQL-Funktionen.)
Dieter
-
Zitat von andreaspr@aon.at
Wenn du in der QSHELL folgenden Befehl absetzt:
/QIBM/ProdData/OS/SQLLIB/bin/db2nosql -setup enable
Werden in der SYSTOOLS die JSON SQL Funktionen erstellt.
Geht auch schon mit 7.1 bei entsprechenden PTF stand.
Näheres kannst du auch hier nachlesen:
http://www.mcpressonline.com/databas...db2-for-i.html
lg Andreas
Das hört sich ziemlich cool an! Danke für den Tipp. Werde ich ausprobieren!
Dieter
-
Habe folgendes auf unserer Testmaschine abgeschickt:
/QIBM/ProdData/OS/SQLLIB/bin/db2nosql -setup enable
Als Ergebnis kam:
nosql>CDJSN0114E Ungültige Befehlssyntax
Fehlerdetails werden unten aufgeführt, sind aber möglicherweise nicht die Ursache des Problems.
/QIBM/ProdData/OS/SQLLIB/bin/db2nosql -setup enable
^
Fehlerdetails: invalid flag after regular expression
Spaltennummer: 7
-
Vielleicht haben wir auf der Testmaschine aber auch noch nicht den passenden PTF-Stand. Werde das morgen mal mit unserer Administration klären.
Nochmals vielen Dank.
Dieter
-
Zitat von dschroeder
Vielleicht haben wir auf der Testmaschine aber auch noch nicht den passenden PTF-Stand. Werde das morgen mal mit unserer Administration klären.
Nochmals vielen Dank.
Dieter
Laut Web ist für IBM i 7.1 TR10 mit Database Group PTF Level 34 nötig.
-
-
Das Setup ist bei uns jetzt durchgelaufen. Das setup-Programm erwartete ein Journal in der SYSTOOLS. Das gab es seltsamerweise auf beiden Maschinen nicht. Nachdem das angelegt wurde, lief das setup problemlos durch. Die JSON-Funktionen sind jetzt in SYSTOOLS vorhanden.
Nochmals Danke für die Hilfe.
Aber doch noch eine Frage: Gibt es zu den Funktionen auch eine Doku? Im Information Center hat die Suchfunktion nichts passendes ergeben. Google war auch nicht sehr ergiebig. Ich gehe aber davon aus, dass IBM nicht einfach Funktionen zur Verfügung stellen würde, ohne eine Dokumentation dazu zu liefern.
Ich möchte ja im wesentlichen JSON lesen. Die Funktion JSON_VAL2 klingt für mich so, als könnte sie einen JSON-Wert ermitteln. Google bringt für die Frage nach "SYSTOOLS JSON_VAL2" aber keine Ergebnisse für IBM i (soweit ich das sehe und verstehe).
Dieter
-
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:
Code:
{"myroot": { "id": 123} }
Code:
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
-
Similar Threads
-
By _MG_ in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 31-12-15, 10:52
-
By Joe in forum IBM i Hauptforum
Antworten: 5
Letzter Beitrag: 06-08-15, 10:45
-
By andigoering in forum Archiv NEWSblibs
Antworten: 0
Letzter Beitrag: 08-11-02, 15:27
-
By DiBagger in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 13-09-02, 12:41
-
By Neurohr in forum IBM i Hauptforum
Antworten: 10
Letzter Beitrag: 12-07-02, 23:53
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks