Thanks for your input and COBOL team has reviewed it.
Currently, COBOL JSON GENERATE generates JSON texts always with a top level name because this preserves all information about the COBOL group. This could sometimes be useful if different processing are needed for different COBOL 01 records. In that case, we could use one program (in downstream processing, for example) receiving the JSON text, and following different logic path according to the top level name. Otherwise some control mechanism would be needed outside of the receiving program(s), and multiple programs might be needed. This could be less convenient.
For cases where only one COBOL top level record requires JSON processing, the extra top level name should not cause any difficulty. Having said that, adding optional syntax to control this behaviour could reduce unnecessary information in the output. We will consider this as a further enhancements to JSON, would you like to open an RFE for your tracking?
Roy Bae