0

我在将 JSON 序列化为 Java 对象时遇到了一些问题。我尝试从 API 检索对象,然后将其存储到 Java 对象中,但对象始终具有默认的初始化值,而不是我从服务器请求的。我的客户端 API 调用如下所示:

JerseyClient client = new JerseyClientBuilder().build();

        JerseyWebTarget target = client.register(new JacksonFeature()).target("http://localhost:8080/service");
        private Citizien c = target.request(MediaType.APPLICATION_JSON_TYPE).get(Citizien.class);

        System.out.println("ECHO : " + c.toString());

我正在使用Jackson 1.9.11 将JSON 序列化为Java 对象,并使用@XMLRootElements 和@XMLElement 来标记Citizien 类。Api 只是插入一些随机数据并将对象返回给客户端。

有谁知道如何解决这个问题,因为我还不知道任何解决方案。

问候, 达哈卡

4

1 回答 1

0

确保有这些代码行

WebAppContext webAppContext = new WebAppContext();
webAppContext.setInitParameter("com.sun.jersey.api.json.POJOMappingFeature", "true");

或者,如果您使用 web.xml 来设置相应的配置项

<web-app>
  <servlet>
    <servlet-name>jersey-serlvet</servlet-name>
    <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
    <init-param>
        <param-name>com.sun.jersey.config.property.packages</param-name>
        <param-value>com.foo.bar</param-value>
    </init-param>
    <init-param>
        <param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
        <param-value>true</param-value>
    </init-param>
  </servlet>\
...
于 2013-11-05T12:50:17.213 回答