【问题标题】:How to convert web service response input stream to java object?如何将 Web 服务响应输入流转换为 java 对象?
【发布时间】:2011-01-21 19:11:07
【问题描述】:

在我的网络服务上执行 http 请求后,我得到一个 javax.ws.rs.core.Response 对象。当我在Response 对象上调用getEntity 方法时,我得到一个输入流,它是JSON 的字符串表示。有谁知道我可以/应该如何将此字符串转换为 java 对象?因为,我使用的是 CXF,我可以使用 JAXBContext 吗?或者我必须创建一个自定义消息正文阅读器吗?谢谢。

【问题讨论】:

  • 我创建了 WebService 客户端来使用它

标签: java web-services json cxf jax-rs


【解决方案1】:

Jackson 具有内置的 JAX-RS 支持。
见 org.codehaus.jackson.jaxrs.JacksonJsonProvider 和 org.codehaus.jackson.jaxrs.JacksonJaxbJsonProvider

【讨论】:

    【解决方案2】:

    这是一个例子。有一天它会帮助某人。 (这是使用示例 XML 输入)

        @POST
        @Path("/unmarshall")
        @Produces(MediaType.APPLICATION_XML)
        @Consumes(MediaType.APPLICATION_XML)
        public Response unmarshall(InputStream inputStream) throws JAXBException {
            JAXBContext jaxbContext = JAXBContext.newInstance(MyJaxbClass.class);
            Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
            Object unmarshal = unmarshaller.unmarshal(inputStream);
            return Response.ok().entity(unmarshal).build();
        }
    

    【讨论】:

      猜你喜欢
      • 2012-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-25
      • 2013-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多