当前位置: 首页 > 知识库问答 >
问题:

泽西通用对象[副本]

穆建华
2023-03-14

我正在使用JSON句柄使用Jersey处理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的东西,它可能工作,或者可能用内部类将我的对象转换到相同的方法中。

有什么想法吗?多谢了。

共有1个答案

微生慈
2023-03-14

通过指定string参数类型,您可以通过一个方法使用任何东西。

@Path("/loginCheck")
@POST
@Consumes({ MediaType.APPLICATION_JSON })
@Produces({ MediaType.APPLICATION_JSON })
public Object checkLoginStatus(String pureJsonString) {
}

map表示仅可用于application/x-www-form-urlencodedMIME类型,因此如果您想使用JSON,则不适合使用。你可以在《泽西岛文件》中阅读更多关于这个话题的内容。

 类似资料:
  • 我有一个网站,我只是想写一个脚本,发送字符串到一个文本输入在页面(唯一的一个)和点击提交。我构建了一个selenium系统,但被告知这是矫枉过正的,访问页面上的endpoint并以这种方式发送文本要“容易”得多。 线程“main”java.lang.IllegalStateException中出现异常:未找到InjectionManagerFactory。在org.glassfish.jersey

  • 我目前使用的是球衣 我现在要做的是设置泽西,这样当查询参数进来时(比如缩进),我可以告诉Jackson以“更漂亮的格式,也就是缩进”序列化JSON。您可以通过使用SerializationConfig.Feature.INDENT_OUTPUT配置JSON映射器来轻松地告诉Jackson这样做。 问题是,我如何在每个请求的基础上获取一个queryparam并使用它来修改Jackson的输出?

  • 我将 Jackson 2.7.5 与 Jersey 2.25.1 配合使用。我正在尝试修复现有的生产代码,当它在JSON输入中获得意外字段时,它现在因“无法识别的PropertyException:无法识别的字段”而失败。 在研究这个问题时,我发现了几篇旧帖子(5年),建议各种修复方法与我当前的代码非常不同。我不太关注这些,因为它们是针对旧版本的Jackson/Jersey。最近的建议,包括泽西岛

  • 我试图用Jersey发送一个带有POST的ByteArrayOutputStream压缩文件。

  • 我的webapp包含一个库,其中包含一个用注释的类。如果存在此类,我的webapp(部署为EAR中的WAR)将无法启动,并出现以下错误: 我根本没有使用jersey,我没有使用任何jax-rs服务和我的web。xml不包含与jersey相关的servlet。我不明白为什么weblogic在我的应用程序中初始化jersey并扫描jars相关的JAR。 我在互联网上找到的与此相关的大多数信息导致人们以

  • 问题内容: 我在Spring启动项目中有一个与Jackson配置有关的问题 如Spring Boot博客中所述 我尝试自定义对象序列化。 在我的配置中添加新的配置bean之后 当我尝试输出类User的实例时,json结果不在CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES中 json输出是: 并不是 也许我需要在Jersey配置中注册一些东西才能激活我的自定义ob