在 COBOL JSON GENERATE 中抑制数组数据元素

问题描述 投票:0回答:1

我正在尝试使用 COBOL 6.3 的 COBOL GENERATE 语句从下面的 Cobol 结构生成 JSON。我想根据数组中的值抑制数据元素。例如,如果值是空格,想要抑制模型值 (ws-inx1,ws-inx2)。

有人可以帮助我如何使用 JSON GENERATE 语句实现此目的吗?

如果 JSON GENERATE 无法实现,我们是否可以在 COBOL-CICS 程序中生成 JSON。我已经检查了 CICS JSON 辅助的可能性,但看不到任何抑制选项。

COBOL 字帖结构。

01 payload
   03 reference-id             pic x(10).
   03 model-specific-data     occurs 5 times indexed by ws-inx1.
       05 model-id            pic x(10).
       05 model-values        occurs 5 times indexed by ws-inx2.
           10 model-attrib-name     pic x(01).
           10 model-value           pic x(3).
           10 model-value-boolean   pic x(05).
               88 true-val          value 'true'.
               88 false-val         value 'false'

需要示例 JSON

{
    "payload": {
        "reference-id": "abc123",
        "model-specific-data": [
            {
                "model-id": "model 01",
                "model-value-attribs": [
                    {
                        "model-attrib-name": "a",
                        "model-value": "A01",
                        "model-value-boolean": true
                    },
                    {
                        "model-attrib-name": "b",
                        "model-value": "123",
                        "model-value-boolean": false
                    },
                    {
                        "model-attrib-name": "x",
                        "model-value-boolean": false
                    }
                ]
            },
            {
                "model-id": "model 02",
                "model-value-attribs": [
                    {
                        "model-attrib-name": "c",
                        "model-value": "C01",
                        "model-value-boolean": true
                    },
                    {
                        "model-attrib-name": "d",
                        "model-value": "D01",
                        "model-value-boolean": false
                    }
                ]
            }
        ]
    }
}
json cobol mainframe cics suppress
1个回答
0
投票

(重新)将数组定义为 5 个基本数据项,并在 JSON GENERATE 语句中使用 SUPPRESS。

© www.soinside.com 2019 - 2024. All rights reserved.