[Progress Communities] [Progress OpenEdge ABL] Forum Post: RE: JSON - Why does not this work?

Status
Not open for further replies.
E

egarcia

Guest
If you know that that you have an object with a record, then you can add the record to an array and use the expected structure for a temp-table or dataset. Example: USING PROGRESS.Json.ObjectModel.*. DEFINE VARIABLE cData AS CHARACTER NO-UNDO. DEFINE VARIABLE jsonParser AS ObjectModelParser NO-UNDO. DEFINE VARIABLE jsonObject AS JsonObject NO-UNDO. DEFINE VARIABLE jsonArray AS JsonArray NO-UNDO. DEFINE TEMP-TABLE tt NO-UNDO FIELD Id AS CHARACTER FORMAT "x(40)" FIELD StudentInsurance AS LOGICAL FIELD WantsPackage AS LOGICAL FIELD InsuranceUnder28 AS LOGICAL FIELD CadetInsurance AS LOGICAL FIELD WantsTravelInsurance AS LOGICAL FIELD InsuranceHealth AS LOGICAL // FIELD IsCollectiveSuperContentInsurance AS LOGICAL . DEFINE DATASET ds FOR tt. cData = '~{"Customer":~{"Id":"45f2d341-5bec-e611-811f-70106fa9e1e1","StudentInsurance":false,"WantsPackage":true,"InsuranceUnder28":false,"CadetInsurance":false,"WantsTravelInsurance":true,"InsuranceHealth":false,"IsCollectiveSuperContentInsurance":true~}~}'. jsonParser = NEW ObjectModelParser(). jsonObject = CAST(JsonParser:parse(cData), JsonObject). jsonArray = NEW JsonArray(). jsonArray:ADD(jsonObject:GetJsonObject("Customer")). jsonObject = NEW JsonObject(). jsonObject:ADD("tt", jsonArray). TEMP-TABLE tt:READ-JSON("JsonObject", jsonObject). // DATASET ds:READ-JSON("JsonObject", jsonObject). FOR EACH tt: DISPLAY tt. END.

Continue reading...
 
Status
Not open for further replies.
Top