从动态 JSON 转换 Java Pojo

问题描述 投票:0回答:1

**我想动态地将 JSON 转换为 Java Pojo ,这意味着 JSON 结构将会改变,但我需要将该 JSON 转换为 Java Pojo 而不创建 JSON POJO,有可用的框架吗?

我考虑过Dozzer映射器,但在Dozzer映射器中我总是需要创建SRC对象POJO,我需要避免相同。 **

java json velocity
1个回答
0
投票

你的问题太笼统了。但这里有一些场景。

  1. 假设您的 JSON 将始终具有 n 个属性,并且可能具有或不具有与您不相关的其他属性。在这种情况下,如果您创建一个包含 n 个属性的 POJO 并使用 JACKSON 库,您可以使用
    @JsonIgnoreProperties(ignoreUnknown = true)
    注释标记您的 POJO,并且 JSON 中的其他属性可以被忽略
  2. 如果你真的收到一个结构完全未知的 JSON 对象,你只能将其转换为
    Map<String, Object>
    ,这将是你唯一的选择。

虽然您可以使用 Json-Jackson 库或 Gson 库进行转换,但实际上我在 Jackson

ObjectMapper
类上编写了自己的包装器,可以为您简化此任务。此功能是我编写和维护的 MgntUtils 开源 java 库的一部分。您的代码可能如下所示:

Map<String, Object> map = JsonUtils.readObjectFromJsonString(jsonString, Map.class);

它会抛出 IOException,所以你需要处理它。这是 Javadoc。 MgntUtils 库可以作为 Maven 工件 和在 Github 上找到(包括 javadoc 和源代码)

© www.soinside.com 2019 - 2024. All rights reserved.