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 オブジェクトにシリアル化し、クラス Citizien を @XMLRootElements で、変数を @XMLElement で表記しています。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 に答える