【发布时间】:2018-01-31 01:11:51
【问题描述】:
我正在使用 Jersey 作为我的 JSON 句柄来处理 REST 服务。我想做一个使用通用对象的方法。有没有办法在没有 bean 类的情况下对其进行反序列化?
JSON:
{
"id": "2",
"name": "John"
}
当前方法(使用 bean 类):
@Path("/loginCheck")
@POST
@Consumes({ MediaType.APPLICATION_JSON })
@Produces({ MediaType.APPLICATION_JSON })
public Object checkLoginStatus(Object a) {
// Check login status function
}
我正在阅读有关可能工作的 HashMap 的内容,或者可能将我的带有内部类的 Object 转换为相同的方法。
有什么想法吗?谢谢。
【问题讨论】:
-
除了我的回答之外,我想问一下你想通过一种方法使用不同的对象来实现什么?可能有一些更简单的解决方案。
-
@AlekseiBudiak 你的答案看起来很棒,并且适用于这些简单的 json,但是当我有一个嵌套的 json 时,我想跳过一个 bean 的映射,比如只为反序列化但没有创建的时间类它。
-
该解决方案应该适用于任何 JSON 对象(包括具有嵌套对象的对象)。除了我的建议之外,还有其他选择 - MessageBodyReaders。您可以使用它们将自定义反序列化逻辑添加到 Jersey。不幸的是,没有简单的方法来拥有某种特定于请求的时间类。
-
@Jarrod Roberson 这不是任何链接问题的重复。请仔细阅读。
标签: java json rest object jersey