gpt4 book ai didi

java - 如何将 JSON 映射到 JAXB 对象?

转载 作者:行者123 更新时间:2023-12-01 05:16:42 26 4
gpt4 key购买 nike

我有一些传入的 JSON,需要将其映射到 JAXB 对象。我是否需要将 JSON 转换为 XML,然后填充 JAXB 对象,还是可以将 JSON 直接映射到该对象?无论哪种情况,有人可以告诉我什么是执行此操作的最佳库吗?

最佳答案

注意:我是EclipseLink JAXB (MOXy) JAXB (JSR-222) 的领导者和成员专家组。

Do I need to convert the JSON to XML and then populate the JAXB object, or can I map the JSON directly to the object?

在将输入传递给 JAXB (JSR-222) 实现之前,您无需将 JSON 转换为 XML。如果您使用 Jersey 实现(也可能是其他实现),您可以像下面这样设置 JAX-RS 方法,并且 JAXB 将用于 XML 和 JSON 处理。

@GET
@Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
@Path("{id}")
public Customer read(@PathParam("id") long id) {
return entityManager.find(Customer.class, id);
}

JAX-RS 实现具有 MessageBodyReader/MessageBodyWriter 机制,允许您覆盖默认转换。我不知道 Gson 对 JAXB 注释有任何支持。 Jackson 是一个对象到 JSON 的库,提供 support for a subset of JAXB annotations (maybe regrettably)。 EclipseLink MOXy 是一个 JAXB 实现,已 extended to support JSON-binding 。有关在 JAX-RS 环境中使用它的示例,请参阅:

关于java - 如何将 JSON 映射到 JAXB 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11087088/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com