将 JSON 对象作为字符串检索,然后在应用程序内手动解析它是一个很好的做法吗?还是有更好的方法来获取传输对象表示(例如,一些工具或舒适的 API、自动 map 服务等)不知道)?
Example:
@POST
@Path("/myUrlPath")
public Response postSomething(String jsonAsString) {
JSON json = getFromMyCustomParser(jsonAsString);
MyObject myObject = getFromMyCustomMapper(json);
//business logic
}
对这个话题了解不多。
最佳答案
您实际上可以接受 JSON 作为资源方法的参数。 Jersey REST API 将支持这一点。您可能必须添加 JSON 库作为依赖项。
我认为这是我们使用的 JSON 依赖项:
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-json</artifactId>
<version>1.12</version>
</dependency>
在本例中,我们使用 org.codehaus.jettison.json 中的 JSONObject 类。
有一个tutorial关于如何使用 Jersey 框架执行此操作。它解释了基于 Jackson 的 POJO 映射。您可能需要自己配置 POJO 映射。
关于java - Java中如何轻松顺利地从MediaType.JSON的数据中获取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22078564/