Consider the following JSON text string:
{"msg":{"SND":9,"pid":1289,"txt":"Hello World!"}}
If you pass the string into the following COBOL program, you can suppress any of the sub-ordinate items (of msg) from being matched when the JSON PARSE statement is executed:
Identification division.
Program-id. jparse1.
Data division.
Working-storage section.
01 msg.
03 snd usage comp-1.
03 pid pic 9999 usage display.
03 txt pic x(12).
Linkage section.
01 json-str pic x(53).
Procedure division using json-str.
move 1300 to pid.
display "Parsing....".
JSON PARSE json-str into msg with DETAIL
SUPPRESS pid
END-JSON.
if snd equal to 9 then
DISPLAY "PID is " pid
DISPLAY "Message text is '" txt "'"
end-if.
display "JSON-STATUS is " JSON-STATUS.
goback.
End program jparse1.
As a result of executing the JSON PARSE statement, the matching of pid is suppressed, and its previous value (1300) is retained. Suppressing a data item produces a non-exception code of 2.