将对象序列化为 json 的 JavaEE 方法

JavaEE way to serialize object to json

有了 Jackson,我可以很容易地创建 Json 个字符串:

String json = new ObjectMapper().writeValueAsString(object)

问题是这依赖于特定的 api 实现。有没有纯 JavaEE 的方法来实现这个?

我想通过 websocket 发送 json。通过 rest 发送没有问题 - 指定媒体类型就足够了。可能有一种方法可以像其他 api 一样创建 json。

理论上,您应该能够按照以下方式进行操作:

@Context
private MessageBodyWorkers workers;

然后

MessageBodyWriter<MyBean> messageBodyWriter =
            workers.getMessageBodyWriter(YourBean.class, YourBean.class,
                    new Annotation[]{}, MediaType.APPLICATION_JSON);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
messageBodyWriter.writeTo(myBean, YourBean.class, YourBean.class,
    new Annotation[] {},
    MediaType.APPLICATION_JSON,
    new MultivaluedHashMap<String, Object>(),
    baos);

但是,我必须补充一点,它对我来说从来没有可靠地工作过,所以我最终直接打电话给杰克逊。