Hallo Rischer,

ich mache relativ viel mit IBM i, Webanwendungen, AJAX und JSON.

Die Maschine hat 7.2 mit dem neuesten PTF-Stand und CCSID 1141 im Systemwert QCCSID.
Mit folgenden Schritten läuft das Beispiel auf meiner Maschine:

1. JSON-SQL-Funktionen einrichten

qsh
/QIBM/ProdData/OS/SQLLIB/bin/db2nosql -setup enable

2. Datei erstellen

create or replace table tsto.wrkjson
(jsid int generated always as identity (start with 1 increment by 1),
json_info blob(3M) not null,
primary key(jsid));

Label on Column wrkjson (jsid is 'Id');
Label on Column wrkjson (json_info is 'JSON-Info');


3. JSON-Daten einfügen

INSERT INTO tsto.wrkjson (JSON_INFO)
VALUES ( SYSTOOLS.JSON2BSON('{"detail":"hilfe"}'))
INSERT INTO tsto.wrkjson (JSON_INFO)
VALUES ( SYSTOOLS.JSON2BSON('{"detail":"hilfe2"}'))

4. JSON-Daten auslesen

select jsid,json_val(json_info,'detail','s') as info
from tsto.wrkjson


Anfang auf Zeile . . . . . .
....+....1....+....2....+....3....+....4....
Id INFO
1 hilfe
2 hilfe2
******** Datenende ********

Jetzt mit einem komplexeren Beispiel

PHP-Code:
INSERT INTO tsto.wrkjson (JSON_INFO)  
VALUES SYSTOOLS.JSON2BSON('{        
 "kunde": [                           
  {                                   
   "id"  :123456,                     
   "name":"Testname",                 
   "adresse": {                       
       "plz":86916,                   
       "ort":"Kaufering"              
   }                                  
  }]                                  
 }'
)) 

select jsid,                                                        
 
json_val(json_info,'kunde.id','i') as Id,                          
 
substr(json_val(json_info,'kunde.name','s') , 20) as Name,     
 
json_val(json_info,'kunde.adresse.plz','i') as PLZ,                
 
substr(json_val(json_info,'kunde.adresse.ort','s') , 20) as Ort
from tsto
.wrkjson                                                

....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
           Id              ID   NAME                            PLZ   ORT       
            1         123.456   Testname                     86.916   Kaufering 
********   Datenende   ******** 
Herzliche Grüße
Rainer

Folgende Anwendungen arbeiten mit AJAX, JSON und IBM i
www.myhofi.com - Hotels finden - leicht gemacht
www.myhofi.com/devhtm/spoolsorter.htm - wrkoutq in Javascript mit nur 75 Zeilen Code