JEP 540: Простой JSON API — Java наконец-то получает нативную поддержку JSON (инкубатор)

Java только что сделала шаг, которого ждали годами. В июле 2026 года OpenJDK официально представил JEP 540 — Simple JSON API, который сейчас находится на стадии инкубатора. Это означает, что разработчики на Java скоро смогут работать с JSON без сторонних библиотек. Давайте разберёмся, что изменилось.

Почему это важно?

JSON — стандарт де-факто для обмена данными в вебе, мобильных приложениях и микросервисах. До сих пор Java-разработчикам приходилось подключать Gson, Jackson или org.json. Это работало, но добавляло зависимость, конфликты версий и лишний код. JEP 540 решает эту проблему на уровне платформы.

Авторы JEP 540 (команда OpenJDK) предлагают лёгкий, безопасный и простой API для парсинга, генерации и преобразования JSON. Никаких аннотаций, рефлексии или сложных конфигураций — только чистый Java-код.

Что внутри JEP 540?

API построен вокруг трёх ключевых классов: JsonValue, JsonObject и JsonArray. Они неизменяемы (immutable), что гарантирует потокобезопасность и предсказуемость.

Пример генерации JSON:

JsonObject person = JsonObject.builder()
    .add("name", "Alice")
    .add("age", 30)
    .add("skills", JsonArray.of("Java", "Kubernetes", "SQL"))
    .build();

Пример парсинга:

String json = "{\"name\":\"Bob\",\"age\":25}";
JsonObject obj = JsonParser.parse(json).asObject();
String name = obj.get("name").asString();
int age = obj.get("age").asInt();

Обратите внимание: нет выброшенных исключений на каждый чих. API использует Optional и понятные методы вроде asString(), asInt(), которые возвращают null-safe значения.

Инкубатор — не значит «сырой»

Статус инкубатора означает, что API может измениться до финального релиза. Но команда OpenJDK уже прове exhaustive тестирование производительности. По предварительным данным, Simple JSON API по скорости парсинга сопоставим с Jackson и обгоняет Gson на 15-20% на типовых нагрузках (источник: JEP 540 draft).

Для сравнения:

Характеристика Simple JSON API (JEP 540) Jackson Gson
Зависимости Нет (встроен в JDK) Да Да
Потокобезопасность Да (immutable) Да (через ObjectMapper) Нет (по умолчанию)
Размер ~200 КБ (в составе JDK) ~1.5 МБ ~300 КБ
Простота Высокая Средняя Средняя

Как это повлияет на реальные проекты?

Представьте микросервис на Spring Boot, который обрабатывает запросы от фронтенда. Раньше вы писали:

ObjectMapper mapper = new ObjectMapper();
MyDto dto = mapper.readValue(jsonString, MyDto.class);

Теперь можно:

JsonObject obj = JsonParser.parse(jsonString).asObject();
String name = obj.get("name").asString();

И не нужно тащить Jackson в classpath. Это особенно критично для облачных функций (AWS Lambda, Google Cloud Functions), где каждый мегабайт влияет на холодный старт.

Если вы разрабатываете интеграции с внешними сервисами, например, для подключения к [название сервиса] через API — подробнее на asibiont.com/courses, то встроенный JSON API упростит обработку ответов.

Критика и ограничения

Simple JSON API не пытается заменить Jackson для сложных случаев. Например, он не поддерживает полиморфную десериализацию, пользовательские аннотации или связывание с POJO через рефлексию. Это намеренно: авторы хотят сохранить API минималистичным и безопасным.

Для enterprise-проектов с глубокой сериализацией JPA-сущностей Jackson останется королём. Но для 80% рутинных задач — чтение конфигов, обмен с REST API, логирование — JEP 540 будет идеальным выбором.

Как попробовать уже сейчас?

JEP 540 доступен в составе JDK 24 (ранний доступ) и JDK 25 (dev-сборки). Чтобы включить инкубатор, добавьте флаг --enable-preview при компиляции и запуске. Подробная документация — на OpenJDK JEP 540.

Выводы

JEP 540 — это не революция, а долгожданная эволюция. Java наконец-то получает встроенный инструмент для работы с JSON, который быстрее, легче и безопаснее сторонних аналогов. Статус инкубатора даёт сообществу время на обратную связь, но уже сейчас понятно: будущее Java — с Simple JSON API.

Следите за новостями OpenJDK, чтобы не пропустить выход стабильной версии. А пока — обновляйте JDK и пробуйте JEP 540 в pet-проектах.

← Все статьи

Комментарии