Master Mainframe Technologies - COBOL, JCL, DB2, VSAM, CICS & More
ABEND Codes SQLCODEs File Status Interview Prep Contact
💻 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.