【问题标题】:what is the easiest way to integrate JSON binding in Jersey?在 Jersey 中集成 JSON 绑定的最简单方法是什么?
【发布时间】:2017-02-08 08:16:13
【问题描述】:

根据文档,MOXy 现在是在 Jersey 中集成 JSON 绑定的默认方式。但是设置起来很痛苦,需要多个外部 jar...

我曾研究过使用 Jackson,但我也有类似的问题...

在泽西岛提供 JSON 支持最简单的解决方案是什么?

(一个简单的小罐子解决方案会很棒!)

【问题讨论】:

  • 为什么包含外部罐子很痛苦?您应该为您的项目使用 Maven 或 Gradle。
  • 我正在为此目的使用 GSON,并且仍然对它感到满意。

标签: java json jersey


【解决方案1】:

如果您正在寻找一个没有编译依赖的 JSON 库,Google GSON 可能就是其中之一。

<dependency>
 <groupId>com.google.code.gson</groupId>
 <artifactId>gson</artifactId>
 <version>2.8.0</version>
</dependency>

这是一个相对较小的 jar (227kb) 和一个有据可查的项目: https://github.com/google/gson

现在回答您的标题问题,最简单的方法可能是包含 jersey-json(基于杰克逊),因为它会通过简单地添加一个参数来自动处理您在 JSON 中的响应的转换你的小服务程序:

<init-param>
    <param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
    <param-value>true</param-value>
</init-param>

并在控制器的方法上添加注释:

@Produces(MediaType.APPLICATION_JSON) // to convert a bean to json
@Consumes(MediaType.APPLICATION_JSON) // to convert json into your bean

以下 jersey-json 的依赖关系:

<dependency>
 <groupId>com.sun.jersey</groupId>
 <artifactId>jersey-json</artifactId>
 <version>1.19.3</version>
</dependency>

【讨论】:

    【解决方案2】:

    使用 maven,您可以通过简单地添加依赖项来获得 json 支持(使用 moxy)

    <dependency>
            <groupId>org.glassfish.jersey.media</groupId>
            <artifactId>jersey-media-moxy</artifactId>
        </dependency>
    

    如果您想要相关库的完整 pom,请告诉我

    【讨论】:

      猜你喜欢
      • 2021-08-13
      • 2013-10-31
      • 2010-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-12
      • 2019-06-25
      • 2020-02-20
      相关资源
      最近更新 更多