-
Mit JSON_TABLE Array abfragen
Hallo,
ich möchte ein JSON Dokument parsen.
Wenn ich ein JSON habe, das aus einem Objekt besteht und ein Array beinhaltet, kann ich das problemlos parsen:
Beispiel: (Das Objekt heißt Personen und beinhaltet ein Array mit Namen und Vornamen):
Code:
set jsontest = '{ "personen" :[ {"name": "Müller", "vorname" : "Hans"}, {"name": "Meier", "vorname" : "Hugo"} ] }';
select * from JSON_TABLE(jsontest,
'lax $'
columns(
nested '$.personen[*]'
columns( "name" varchar(40),
"vorname" varchar(40)
)
)
) as json
;
Das obige Beispiel funktioniert sehr schön. Ich bekomme eine Tabelle mit den Namen und Vornamen.
Mein Problem ist, dass das JSON, was ich bekomme, nicht ganz so aussieht wie das obige JSON. Mein JSON fängt direkt mit den eckigen Klammern an. Ich habe also kein Objekt "Personen", auf das ich mich beim parsen beziehen kann. Ein JSON Validator im Internet bestätigt aber, dass es sich um gültiges JSON handelt.
Hier mein eigentliches JSON, das geparsed werden soll:
Code:
set jsontest = '[ {"name": "Müller", "vorname" : "Hans"}, {"name": "Meier", "vorname" : "Hugo"} ]';
Hat jemand eine Idee, wie man das obige JSON parsen kann?
Im Notfall müsste ich mir vorher einen Objektnamen künstlich dranbasteln. Das fände ich aber unschön.
Danke im Voraus!
Dieter
-
Das wird aktuell auch nicht von JSON_TABLE unterstützt. Soweit ich weiß gibt es hierfür jedoch einen RFE.
Der zu parsende String muss immer aktuell mit einem Objekt beginnen.
Also muss man ein bisschen tricksen.
Da es sich bei den JSON-Daten um einen Text-String handelt, kannst du das Array einfach in ein Objekt packen und dann den so gebildeten String auflösen.
Code:
select * from JSON_TABLE('{personen: ' concat jsontest concat '}',
'$.personen[*]'
columns( "name" varchar(40),
"vorname" varchar(40)
)
)
) as json
Birgitta
-
Vielen Dank, Birgitta!
Genau diesen Hack hatte ich mir auch überlegt. Ich hatte nur gedacht, dass es da eine elegantere Lösung gibt. Aber wenn es da bereits einen RFE gibt, muss ich mir keine Gedanken machen, ob es im Moment etwas besseres gibt.
Dieter
Similar Threads
-
By dibe in forum NEWSboard Programmierung
Antworten: 7
Letzter Beitrag: 21-01-19, 13:52
-
By dschroeder in forum NEWSboard Programmierung
Antworten: 15
Letzter Beitrag: 20-12-18, 10:11
-
By svit in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 01-10-15, 11:54
-
By woodstock99 in forum NEWSboard Programmierung
Antworten: 8
Letzter Beitrag: 15-01-14, 16:57
-
By tarkusch in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 25-12-13, 14:15
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