JSON

JavaScript Object Notation

Protocol
Introduced in Rel-12
JSON is a lightweight, text-based data interchange format used extensively in 3GPP for service-based interfaces (SBI), network function (NF) communication, and management data representation. It enables structured data exchange in APIs, replacing older, bulkier formats like XML in many 5G core network protocols.

Description

JavaScript Object Notation (JSON) is a text-based, language-independent data format using human-readable text to represent attribute–value pairs and arrays. In 3GPP, starting from Release 12 and heavily adopted in the 5G core (5GC) from Release 15, JSON is the primary data serialization format for HTTP/2-based Service-Based Interfaces (SBIs) between Network Functions (NFs). It works by structuring data as collections of name/value pairs (objects) and ordered lists of values (arrays), transmitted as UTF-8 encoded text. Key architectural components include JSON Schema for defining data structures in OpenAPI specifications, and its use within HTTP/2 messages for operations like NF discovery, registration, and service invocation. The JSON payloads carry critical information such as NF profiles, subscription data, policy rules, and session management contexts. Its role is central to the stateless, modular 5G core architecture, enabling efficient, flexible, and developer-friendly machine-to-machine communication. Specifications detail media type usage (application/json), encoding rules, and mandatory/optional fields for numerous service operations.

Purpose & Motivation

JSON was adopted in 3GPP to provide a simpler, more efficient alternative to XML for data interchange in network APIs, particularly with the shift to cloud-native, service-based architectures in 5G. Previous approaches using XML or ASN.1 PER could be verbose and complex to parse, slowing development and processing. JSON solves this by offering a lightweight, easily parsed format that aligns with modern web development practices, reducing overhead and improving interoperability in RESTful APIs. The historical motivation was the need for agile service exposure and management in LTE/EPC (starting in Rel-12 for certain interfaces) and its full embrace for 5G SBI to support network slicing, automation, and rapid service deployment.

Key Features

  • Lightweight, text-based format reducing parsing overhead and bandwidth
  • Native compatibility with web technologies and RESTful API design
  • Structured as collections of name/value pairs and ordered lists
  • UTF-8 encoding ensuring broad character set support
  • Used for HTTP/2 message payloads in 3GPP Service-Based Interfaces
  • Defined via JSON Schema in 3GPP OpenAPI specifications for interoperability

Evolution Across Releases

Rel-12 Initial

JSON was initially introduced for certain northbound APIs and management interfaces, such as the Application Programming Interface (API) for the Service Capability Exposure Function (SCEF). The architecture leveraged JSON over HTTP for representing structured data in a web-friendly manner, enabling simpler integration with external applications.

Defining Specifications

SpecificationTitle
TS 23.701 3GPP TS 23.701
TS 23.722 3GPP TS 23.722
TS 24.559 3GPP TS 24.559
TS 26.119 3GPP TS 26.119
TS 26.347 3GPP TS 26.347
TS 26.510 3GPP TS 26.510
TS 26.512 3GPP TS 26.512
TS 26.517 3GPP TS 26.517
TS 26.804 3GPP TS 26.804
TS 26.841 3GPP TS 26.841
TS 26.854 3GPP TS 26.854
TS 26.857 3GPP TS 26.857
TS 26.955 3GPP TS 26.955
TS 26.956 3GPP TS 26.956
TS 26.998 3GPP TS 26.998
TS 28.536 3GPP TS 28.536
TS 28.541 3GPP TS 28.541
TS 28.623 3GPP TS 28.623
TS 29.116 3GPP TS 29.116
TS 29.122 3GPP TS 29.122
TS 29.155 3GPP TS 29.155
TS 29.222 3GPP TS 29.222
TS 29.250 3GPP TS 29.250
TS 29.251 3GPP TS 29.251
TS 29.502 3GPP TS 29.502
TS 29.503 3GPP TS 29.503
TS 29.505 3GPP TS 29.505
TS 29.507 3GPP TS 29.507
TS 29.508 3GPP TS 29.508
TS 29.514 3GPP TS 29.514
TS 29.518 3GPP TS 29.518
TS 29.519 3GPP TS 29.519
TS 29.520 3GPP TS 29.520
TS 29.521 3GPP TS 29.521
TS 29.525 3GPP TS 29.525
TS 29.534 3GPP TS 29.534
TS 29.540 3GPP TS 29.540
TS 29.549 3GPP TS 29.549
TS 29.550 3GPP TS 29.550
TS 29.551 3GPP TS 29.551
TS 29.554 3GPP TS 29.554
TS 29.562 3GPP TS 29.562
TS 29.563 3GPP TS 29.563
TS 29.817 3GPP TS 29.817
TS 29.890 3GPP TS 29.890
TS 29.891 3GPP TS 29.891
TS 32.158 3GPP TR 32.158
TS 32.866 3GPP TR 32.866
TS 33.117 3GPP TR 33.117
TS 33.122 3GPP TR 33.122
TS 33.180 3GPP TR 33.180
TS 33.514 3GPP TR 33.514
TS 33.517 3GPP TR 33.517
TS 33.841 3GPP TR 33.841
TS 33.880 3GPP TR 33.880
TS 33.938 3GPP TR 33.938