9187_hierarchy.p
| 1 |
|
|---|---|
| 2 |
USING Progress.Lang.*. |
| 3 |
USING Progress.Json.ObjectModel.*. |
| 4 |
define var jObj as JsonObject. |
| 5 |
DEFINE TEMP-TABLE ttParent NO-UNDO SERIALIZE-NAME "Parent" |
| 6 |
FIELD parentField AS CHARACTER. |
| 7 |
|
| 8 |
DEFINE TEMP-TABLE ttChild1 NO-UNDO |
| 9 |
FIELD id AS RECID |
| 10 |
FIELD childField AS CHARACTER . |
| 11 |
|
| 12 |
DEFINE TEMP-TABLE ttChild2 NO-UNDO |
| 13 |
FIELD id AS RECID |
| 14 |
FIELD childField AS CHARACTER . |
| 15 |
|
| 16 |
DEFINE DATASET dsDataset serialize-hidden FOR ttParent, ttChild1, ttChild2 |
| 17 |
PARENT-ID-RELATION pir1 FOR ttPArent, ttChild1 PARENT-ID-FIELD ttChild1.id |
| 18 |
PARENT-ID-RELATION pir2 FOR ttPArent, ttChild2 PARENT-ID-FIELD ttChild2.id. |
| 19 |
|
| 20 |
|
| 21 |
CREATE ttParent. |
| 22 |
ASSIGN ttParent.parentField = "AAA". |
| 23 |
|
| 24 |
CREATE ttChild1. |
| 25 |
ASSIGN ttChild1.id = RECID(ttParent) |
| 26 |
ttChild1.childField = "BBB". |
| 27 |
|
| 28 |
CREATE ttChild2. |
| 29 |
ASSIGN ttChild2.id = RECID(ttParent) |
| 30 |
ttChild2.childField = "CCC". |
| 31 |
|
| 32 |
|
| 33 |
jObj = new JsonObject(). |
| 34 |
|
| 35 |
output to test.json. |
| 36 |
|
| 37 |
dataset dsDataset:WRITE-JSON("JsonObject",jObj).
|
| 38 |
message 'before ' string(jObj:GetJsonText()). |
| 39 |
|
| 40 |
for each ttParent: |
| 41 |
delete ttParent. |
| 42 |
end. |
| 43 |
|
| 44 |
for each ttChild1: |
| 45 |
delete ttChild1. |
| 46 |
end. |
| 47 |
|
| 48 |
for each ttChild2: |
| 49 |
delete ttChild2. |
| 50 |
end. |
| 51 |
|
| 52 |
dataset dsDataset:READ-JSON("JsonObject",jObj).
|
| 53 |
jObj = new JsonObject(). |
| 54 |
|
| 55 |
dataset dsDataset:WRITE-JSON("JsonObject",jObj).
|
| 56 |
message 'after ' string(jObj:GetJsonText()). |
| 57 |
output close. |