DATA-INTO YAJLINTO Parser Data Structures
Posted: Sun Feb 19, 2023 12:42 am
I have gone through the Working with JSON document and have the YAJL Open Source Tool installed. I coded, compiled and ran the YAJLINTO example successfully. I am very familiar with DATA-INTO using it with XML. I've been learning JSON for the past couple of weeks. In the document, it states that data can be nested (arrays inside objects and/or objects inside arrays). I have JSON messages that have objects inside of objects. I'm not sure how to set up the data structures for this.
{"msgHeader":
{"requestor":"SOMEONE",
"transactionID":"84cc6a48-fea9-44a0-9efb-ddf9f357b836",
"transactionName":"TRANSFER",
"transactionTimestamp":"2023-02-12T16:34:07.5631111Z"},
"msgBody":{"propertyCode":"XXX",
"cardNumber":"1080313XX9Z",
"localAccount":"",
"transactionType":"XXX",
"transactionAmt":"00000000150",
"outputName":"OOOXXX01",
"bankCode":"037"}}
I gave it a try. Maybe I don't need the top level DS?
Dcl-Ds request Qualified;
Dcl-Ds msgHeader;
requestor Char(7);
transactionID Char(28);
transactionName Char(10);
transactionTimestamp Char(28);
Dcl-Ds msgBody;
propertyCode Char(3);
cardNumber Char(11);
localAccount Char(7);
transactionType Char(3);
transactionAmt Char(11);
outputName Char(10);
bankCode Char(3);
End-Ds;
End-Ds;
End-Ds;
{"msgHeader":
{"requestor":"SOMEONE",
"transactionID":"84cc6a48-fea9-44a0-9efb-ddf9f357b836",
"transactionName":"TRANSFER",
"transactionTimestamp":"2023-02-12T16:34:07.5631111Z"},
"msgBody":{"propertyCode":"XXX",
"cardNumber":"1080313XX9Z",
"localAccount":"",
"transactionType":"XXX",
"transactionAmt":"00000000150",
"outputName":"OOOXXX01",
"bankCode":"037"}}
I gave it a try. Maybe I don't need the top level DS?
Dcl-Ds request Qualified;
Dcl-Ds msgHeader;
requestor Char(7);
transactionID Char(28);
transactionName Char(10);
transactionTimestamp Char(28);
Dcl-Ds msgBody;
propertyCode Char(3);
cardNumber Char(11);
localAccount Char(7);
transactionType Char(3);
transactionAmt Char(11);
outputName Char(10);
bankCode Char(3);
End-Ds;
End-Ds;
End-Ds;