JSON et fichier IFS

configuration Apache, Zend et PHP , Web services
Répondre
monthi
Messages : 52
Enregistré le : mar. 11 sept. 2018, 15:37:02
Localisation : Paris

JSON et fichier IFS

Message par monthi »

Bonjour

nous venons de passer notre Ibm i en V7R2

est-il possible de lire avec un JSON_TABLE, un fichier de l'ifs contenant un flux JSON comme on peut le faire avec XMLTABLE?

Cdlt.

V7R2 TR9 et C9123720

cmasse
Site Admin
Messages : 759
Enregistré le : mer. 14 févr. 2007, 18:00:03
Localisation : Nantes
Contact :

JSON_TABLE

Message par cmasse »

bien sur,

le premier paramètre de la fonction est "un flux JSON", soit :

- une variable
- une colonne d'une table
- le résultat de HTTP_GET_CLOB
- le résultat de GET_CLOB_FROM_FILE

voir https://www.ibm.com/support/knowledgece ... obfile.htm
Christian Massé (Volubis.fr)

monthi
Messages : 52
Enregistré le : mar. 11 sept. 2018, 15:37:02
Localisation : Paris

(sans sujet)

Message par monthi »

Bonjour

j'ai fichier dans l'ifs qui contient les info suivante

Code : Tout sélectionner

 
{"data":{"L":["-num= : "1","Z1" :"L367CF42","Z2:"4071","Z3:"30"},{"-num": "2","Z1":"O548CF42","Z2:"4071","Z3:"30"},{"-num": "3","Z1":"O548CF42","Z2:"6086","Z3:"30"},{"-num": "4","Z1":"Z768CF42","Z2:"4071","Z3:"30"},{"-num": "4","Z1":"Z768CF42","Z2:"4071","Z3:"30"}]}
Je voudrais recupérer la valeur des zone z1, et z2.

j'ai fait la requête suivante :

select * from json_table(GET_CLOB_FROM_FILE('/ptmp/temp.json'), '$.data.L[*]'
columns( "Z1" char(10) path '$.Z1',
"Z2" cchar(4) path '$.z2'
)) as t

je n'ai pas d'erreur a l'éxecution mais aucune données s'affiche.

Cdlt
Modifié en dernier par monthi le lun. 16 sept. 2019, 15:25:32, modifié 1 fois.

monthi
Messages : 52
Enregistré le : mar. 11 sept. 2018, 15:37:02
Localisation : Paris

(sans sujet)

Message par monthi »

il y a une erreur dans le copier coller du json il manque une { et }

Code : Tout sélectionner

{"data":{"L":[{"-num" : "1","Z1" :"L367CF42","Z2:"4071","Z3:"30"},{"-num": "2","Z1":"O548CF42","Z2:"4071","Z3:"30"},{"-num": "3","Z1":"O548CF42","Z2:"6086","Z3:"30"},{"-num": "4","Z1":"Z768CF42","Z2:"4071","Z3:"30"},{"-num": "4","Z1":"Z768CF42","Z2:"4071","Z3:"30"}]}}
cdlt[/quote]

cmasse
Site Admin
Messages : 759
Enregistré le : mer. 14 févr. 2007, 18:00:03
Localisation : Nantes
Contact :

ERROR ON ERROR

Message par cmasse »

le JSON est peut-être invalide (je vois "-num= ...)

essaie avec

select * from json_table(GET_CLOB_FROM_FILE('/ptmp/temp.json'), '$.data.L[*]'
columns( "Z1" char(10) path 'Z1',
"Z2" cchar(4) path 'z2'
) ERROR ON ERROR ) as t
Christian Massé (Volubis.fr)

monthi
Messages : 52
Enregistré le : mar. 11 sept. 2018, 15:37:02
Localisation : Paris

(sans sujet)

Message par monthi »

J'ai modifier le JSON et cela fonctionne

Code : Tout sélectionner

{"L":[{"Z1":"16","Z2":"1170518","Z3":"1","Z4":"1","Z5":"1","Z6":"V","Z7":"A","Z9":"3","Z10":"Enfant","Z11":"4","Z12":"  0786TN45","Z13":"6060","Z14":"4","Z15":"20","Z16":"1","Z18":"0","Z19":"0","Z21":"20","Z22":"1","Z24":"0","Z25":"14,91","Z26":"BR"},{"Z1":"16","Z2":"1170518","Z3":"1","Z4":"1","Z5":"3","Z6":"V","Z7":"A","Z8":"","Z9":"3","Z10":"Enfant ","Z11":"8","Z12":"  EI24J155","Z13":"371","Z14":"5","Z15":"15","Z16":"1","Z17":"","Z18":"0","Z19":"0","Z20":"","Z21":"20","Z22":"1","Z23":"","Z24":"0","Z25":"28,6","Z26":"BR"}]}
Merci

Répondre