Java имеет несколько структур связывания XML, которые отображают объекты Java в XML и обратно. Эти структуры позволяют отображать различные иерархии и классы Java в выбранную структуру XML. Они могут быть настроены через отдельный файл конфигурации. Эти платформы включают в себя Castor, JiBX и тому подобное. Другие платформы могут быть настроены программно.
Большинство сред связывания JSON просто отображают объект Java непосредственно в json. Большинство из них не расширяют гибкость преобразования сложных иерархий Java в любое произвольно выбранное представление объекта JSON. Конфигурация обычно довольно ограничена.
В настоящее время я пытаюсь создать веб-сервис, который возвращает ответы json. Если мои классы доменов Java изменятся каким-либо образом, мои json-ответы также изменятся, что приведет к поломке любых клиентов служб, ожидающих, что старая версия json-ответов.
Существуют ли какие-либо полностью гибкие структуры привязки JSON, которые могут отображать несколько привязок в один и тот же набор классов?
Или (возможно, более фундаментальный вопрос), как мне поддерживать разные версии привязок JSON в одном и том же наборе классов Java?
Или я просто должен убедиться, что классы моего домена никогда не меняются? (Это не представляется возможным)