You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Java数据类库用户自主选择JSON解析框架?

如何让API数据类库与JSON解析框架解耦?

我正在开发一款用于调用Web API的Java库,该库仅包含符合API规范的数据结构类,API调用逻辑会放在另一独立库中。Java企业应用里有JSON-B、Jackson等多种JSON解析框架,我希望这个数据类库能和底层JSON实现完全解耦。

假设我的库中有一个Article基础类:

public class Article {
    String id;
    String headline;
    String content;
}

适配JSON-B框架

要让该类支持JSON-B,需要添加对应的注解,并引入jakarta.json.bind:jakarta.json.bind-api依赖:

public class Article {
    @JsonbProperty("id")
    String id;

    @JsonbProperty("headline")
    String headline;

    @JsonbProperty("content")
    String content;
}

适配Jackson框架

要让该类支持Jackson,需要添加Jackson的注解,并引入com.fasterxml.jackson.core:jackson-annotations依赖:

public class Article {
    @JsonProperty("id")
    String id;

    @JsonProperty("headline")
    String headline;

    @JsonProperty("content")
    String content;
}

我注意到Quarkus提供了针对不同JSON框架的专用模块,比如quarkus-resteasy-reactive-jsonb和quarkus-resteasy-reactive-jackson,但这些模块不需要处理POJO的序列化逻辑。我考虑把自己的库拆成三个模块:基础版、JSON-B版、Jackson版,但不清楚如何避免大量类和依赖的重复或冗余扩展。


内容的提问来源于stack exchange,提问作者Franz Wimmer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 20:13:14