Быстрая библиотека для сериализации и валидации данных в Python: кодирует и декодирует JSON, MessagePack, YAML и TOML с помощью стандартных аннотаций типов.
google/gson
Библиотека Java для преобразования Java-объектов в JSON и обратно, в том числе объектов, исходный код которых недоступен.
- Звёзды
- 24,238
- Форки
- 4,491
- Открытые issues
- 340
- Последний коммит
- 10 дней назад
Что это?
Gson преобразует Java-объекты в строки JSON с помощью простых методов toJson() и fromJson(), а также может разбирать JSON и восстанавливать эквивалентные Java-объекты. В отличие от многих аналогов, библиотека не требует Java-аннотаций в классах, поэтому подходит для уже существующих объектов, которые нельзя изменить, или объектов, исходный код которых недоступен.
Библиотека уделяет большое внимание Java Generics и рассчитана на работу с глубоко вложенными объектами, сложными иерархиями наследования и обобщёнными типами. Разработчики также могут задавать собственное представление объектов, если стандартное сопоставление не подходит.
Сейчас Gson находится в режиме поддержки: существующие ошибки исправляются, но крупных новых функций, скорее всего, не появится. Проект ориентирован на Java; его не рекомендуют для релизных Android-приложений, поскольку используемый во время выполнения рефлексивный механизм конфликтует с уменьшением и обфускацией кода.
Ключевые возможности
- 01Преобразует Java-объекты в JSON с помощью toJson() и обратно — с помощью fromJson()
- 02Работает с классами, исходный код которых недоступен или в которых нет аннотаций
- 03Обеспечивает широкую поддержку Java Generics
- 04Позволяет задавать собственное представление объектов при сериализации
- 05Обрабатывает сложные иерархии наследования и глубоко вложенные объекты
Сценарии использования
- Разбор ответов JSON API в классы Java-моделей
- Сериализация сторонних или неизменяемых Java-объектов в JSON
- Сохранение состояния Java-объектов в файлы JSON
- Создание Java-бэкендов, обменивающихся данными в формате JSON
Быстрый старт
- 1
Добавьте зависимость Gson в сборку Gradle
implementation 'com.google.code.gson:gson:2.14.0' - 2
Или добавьте зависимость Gson в pom.xml Maven
- 3
Соберите проект из исходного кода с помощью Maven
mvn clean verify
Что важно знать
- Gson находится в режиме поддержки, поэтому крупные новые функции вряд ли будут добавлены.
- Gson не рекомендуется использовать для обработки JSON на Android, поскольку рефлексия может перестать работать после минификации и обфускации.
- Для сборки из исходного кода требуется JDK 17 или новее; более новые версии JDK для сборки не поддерживаются.
Темы
Частые вопросы
- Что такое gson?
- Библиотека Java для преобразования Java-объектов в JSON и обратно, в том числе объектов, исходный код которых недоступен. Gson преобразует Java-объекты в строки JSON с помощью простых методов toJson() и fromJson(), а также может разбирать JSON и восстанавливать эквивалентные Java-объекты. В отличие от многих аналогов, библиотека не требует Java-аннотаций в классах, поэтому подходит для уже существующих объектов, которые нельзя изменить, или объектов, исходный код которых недоступен.
- gson можно использовать бесплатно? Какая у него лицензия?
- gson распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- gson всё ещё поддерживается?
- Активно поддерживается. Последний коммит в gson — 11 окт. 2026 г..
- Для чего можно использовать gson?
- Разбор ответов JSON API в классы Java-моделей Сериализация сторонних или неизменяемых Java-объектов в JSON Сохранение состояния Java-объектов в файлы JSON Создание Java-бэкендов, обменивающихся данными в формате JSON
- Как установить gson?
- Добавьте зависимость Gson в сборку Gradle: implementation 'com.google.code.gson:gson:2.14.0' Или добавьте зависимость Gson в pom.xml Maven Соберите проект из исходного кода с помощью Maven: mvn clean verify
- Где скачать gson?
- Исходный код и инструкции по установке — на GitHub: https://github.com/google/gson
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Библиотека C++11, состоящая из одного заголовочного файла и позволяющая разбирать, создавать, изменять и сериализовать JSON с синтаксисом в духе STL.
Компактное, удобное для чтения представление данных JSON, которое сокращает расход токенов при передаче структурированных данных в промпты LLM.
Мнение-ориентированный Java-фреймворк для создания готовых к эксплуатации приложений и сервисов на Spring с минимальной настройкой.
Фундаментальный Java-фреймворк для корпоративных приложений: предоставляет внедрение зависимостей, MVC и инфраструктурную поддержку для всей экосистемы Spring.
Кроссплатформенная библиотека сериализации, позволяющая читать бинарные данные напрямую, без предварительного разбора или распаковки.