Go 1.27 выпускает новый API для JSON, исправляя старые ошибки

A New Go API for JSON

Go 1.27 выпускает новый API для JSON, исправляя старые ошибки

В Go 1.27 появились стабильные пакеты encoding/json/v2 и encoding/json/jsontext. Они решают давние проблемы encoding/json: неточный разбор синтаксиса, утечку nil-слайсов и map, нечувствительное к регистру сопоставление полей, непоследовательный вызов методов и ограничения производительности. Новый API разделяет синтаксис и семантику, поддерживает потоковую обработку и опции, а также позволяет настраивать представление типов без потери гибкости.

В целом, encoding/json хорошо справлялся со своей задачей. Идея маршалинга и демаршалинга произвольных типов Go с некоторым представлением по умолчанию в JSON в сочетании с возможностью настройки представления оказалась очень гибкой. Однако за годы после его появления различные пользователи выявили множество недостатков.

Ещё за этот день

2026-11-04