gpt4 book ai didi

java - Jersey 在 Restful 服务中将 HashMap 序列化为 json 最简单的方法是什么?

转载 作者:行者123 更新时间:2023-12-01 13:58:06 25 4
gpt4 key购买 nike

关于返回序列化的HashMap有很多问题,但我没有找到很好的答案。

现在我只想创建一个像这样的休息服务:

@XmlElement(name = "Calibration")
private HashMap<String, Double> entry = new HashMap<String, Double>();

然后在我的 REST 服务中:

@GET
@Produces(MediaType.APPLICATION_JSON)
@Path("/entry")
public HashMap<String, Double> current() {
System.out.println("calibration request");
entry.put("test", 3.00);
return entry;
}

调用服务时抛出 javax.ws.rs.WebApplicationException:

com.sun.jersey.api.MessageException: A message body writer for Java class java.util.HashMap, and Java type java.util.HashMap, and MIME media type application/json was not found.

我的 pom.xml,如果它有用的话:

<dependency>
<groupId>com.sun.grizzly</groupId>
<artifactId>grizzly-servlet-webserver</artifactId>
<version>1.9.18-i</version>
</dependency>
<dependency>
<groupId>com.sun.grizzly</groupId>
<artifactId>grizzly-comet-webserver</artifactId>
<version>1.9.46</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-grizzly</artifactId>
<version>1.9.1</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-json</artifactId>
<version>1.9.1</version>
</dependency>

我使用 Grizzly 作为 webContainer。

最佳答案

Jackson 可能是这里最简单的选择(Jersey JSON 模块内置了 Jackson 支持)。您可以通过 web.xml 或通过配置对象配置 POJO JSON 支持(请参阅 POJO support )。

注意:最新的 Jersey 1.x 版本是 1.17.1,如果可能的话请考虑使用此版本。

关于java - Jersey 在 Restful 服务中将 HashMap 序列化为 json 最简单的方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19513982/

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