我的输出结构是COBOL,我试图通过DFHJS2LS(IBM工具(将其生成JSON结构。所有字段都更改为必需字段,这会给在.Net中生成类带来麻烦,因为所有字段都不存在。
问题:如何以及在哪里(在COBOL或DFHJS2LS中(将字段定义为可选字段,以便正确生成字段,避免出现空指针异常。
根据文档,您可以使用…定义COBOL数据项。。。
data description OCCURS n TIMES
并使用映射级别4.1或更高级别,并指定TRUNCATE-NULL-ARAYS=ENABLED。这里引用了";结构化阵列";我认为这意味着你需要做一些事情,比如。。。
05 Something Occurs 1 Times.
10 Something-Real PIC X(8).
所以你得到。。。
"type":"array"
"maxItems":1
"minItems":0
"items":{ ... }
您也可以指定映射级别4.0或更高,并使用。。。
data description OCCURS n TO m TIMES DEPENDING ON t
以获得。。。
"field-name":{
"type":"array",
"maxItems":m
"minItems":n
"items":{ ... }
}`
映射级别由…指定
//INPUT.SYSUT1 DD *
[...other control statements...]
MAPPING-LEVEL=4.3
[...other control statements...]