💻 COBOL
COBOL JSON GENERATE
Advanced 🕑 15 min read
👁 0 views
COBOL JSON GENERATE
JSON GENERATE creates JSON from COBOL data structures.
Syntax
```cobol JSON GENERATE json-document FROM data-structure [COUNT IN byte-count] [NAME OF item-1 IS json-name-1...] [SUPPRESS item-1 WHEN condition] [ON EXCEPTION imperative] [NOT ON EXCEPTION imperative] END-JSON. ```
Basic Example
```cobol JSON GENERATE WS-JSON FROM WS-CUSTOMER COUNT IN WS-JSON-LENGTH END-JSON. ```
NAME Clause
```cobol NAME OF CUST-ID IS 'customerId' OF CUST-NAME IS 'customerName' ```
SUPPRESS Clause
Omit items conditionally: ```cobol SUPPRESS CUST-MIDDLE-NAME WHEN SPACES ```
Data Type Mapping
- PIC 9: JSON number
- PIC X: JSON string
- 88 levels: Not generated
- Tables: JSON arrays
Code Example
IDENTIFICATION DIVISION.
PROGRAM-ID. JSON-GEN-DEMO.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-CUSTOMER.
05 CUST-ID PIC X(5) VALUE 'C0001'.
05 CUST-NAME PIC X(20) VALUE 'ACME CORP'.
05 CUST-BAL PIC 9(7)V99 VALUE 15000.50.
01 WS-JSON PIC X(300).
01 WS-JSON-LEN PIC 9(5).
PROCEDURE DIVISION.
JSON GENERATE WS-JSON FROM WS-CUSTOMER
COUNT IN WS-JSON-LEN
NAME OF CUST-ID IS 'customerId'
CUST-NAME IS 'customerName'
CUST-BAL IS 'balance'
END-JSON
IF JSON-CODE = 0
DISPLAY WS-JSON(1:WS-JSON-LEN)
END-IF
STOP RUN.