βš™οΈSAPTools
ABAP10 min read

JSON Serialization in ABAP: The Complete Guide

How to serialize and deserialize JSON in modern ABAP using /UI2/CL_JSON, CALL TRANSFORMATION, and the sXML library. Includes performance benchmarks.

Published May 28, 2024

Advertisement

JSON Serialization in ABAP: The Complete Guide

Working with REST APIs in ABAP? You'll need JSON serialization. Here are the best methods.

Method 1: /UI2/CL_JSON (Recommended)

This is the most commonly used class in the SAP ecosystem:

DATA: ls_data TYPE my_structure,
      lv_json TYPE string.

" Serialize
/ui2/cl_json=>serialize(
  EXPORTING data = ls_data
  RECEIVING r_json = lv_json ).

" Deserialize
/ui2/cl_json=>deserialize(
  EXPORTING json = lv_json
  CHANGING  data = ls_data ).

Use our JSON to ABAP converter to generate your TYPE definitions from JSON!

Method 2: CALL TRANSFORMATION (XSLT)

For complex transformations:

CALL TRANSFORMATION id
  SOURCE data = ls_data
  RESULT XML lv_xstring.

Performance Comparison

For large datasets (10,000 records):

  • /UI2/CL_JSON: ~450ms
  • CALL TRANSFORMATION: ~280ms
  • XCO Framework: ~380ms

Use CALL TRANSFORMATION for heavy lifting, /UI2/CL_JSON for developer convenience.

Topics:

abap jsonjson abapcl_jsonabap serializerest abapcall transformation