Я смотрел на внутреннюю часть майки, на то, как она конвертирует простой POJO в Json. В Джерси есть интерфейс Provider, который предоставит список contextResolvers с учетом класса и mediaType. как только мы получим contextResolver, мы можем получить от него Context и Marshaller, который может использоваться для получения строки json, как показано ниже.
давайте предположим, что мы хотим сериализовать Pojo "obj". код будет выглядеть следующим образом
Providers ps = ...
ContextResolver<JAXBContext> resolver = ps.getContextResolver(obj.getClass(), MediaType.APPLICATION_JSON_TYPE);
JAXBContext ctx = resolver.getContext(obj.getClass());
ctx.createMarshaller().marshal(obj, writer);
Указанным выше способом мы можем преобразовать любой POJO, у которого есть действительный преобразователь контекста, в json. но вопрос в том, как нам получить обработчик для провайдеров.
PS: я не скомпилировал этот код, но из того, что я могу видеть из источника, именно это и делает Джерси. О том, почему я делаю все это, чтобы мы могли конвертировать объект в JSON напрямую с помощью API JAX-RS. вместо использования любого кода реализации.