JSR 311実装としてJerseyを使用しています。私はJSONに変換しようとしているオブジェクトは、次のようになります。JerseyがIDフィールドを失う
@XmlRootElement
public class deliveryTimes{
private Integer id;
private Short type;
private Integer orderId;
/* ... more fields and autogenerated Getters & Setters ... */
}
JSONの結果は次のとおりです。
{"deliveryTimes":
[{"type":"1","orderId":"30449",/* ... other fields ... */ },
/* ... */
]}
単語:フィールド「id」が失われています。私の他のオブジェクトでは、idフィールドにはorderId、customerIdなどの名前があり、これらのフィールドは失われません。
<!-- other stuff -->
<!-- JERSEY -->
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-server</artifactId>
<version>1.11</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-json</artifactId>
<version>1.11</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-grizzly2</artifactId>
<version>1.11</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-servlet</artifactId>
<version>1.11</version>
</dependency>
<!-- Jersey + Spring -->
<dependency>
<groupId>com.sun.jersey.contribs</groupId>
<artifactId>jersey-spring</artifactId>
<version>1.11</version>
<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- other stuff -->
それ以上の設定はありません:
私のpom.xmlは、このようになります。 私はジャージーのウェブサイトやGoogleを介して役立つものは何も見つかりませんでした。
設定オプションがありますか?どのようにIDフィールドをJSONifyしますか?
あなたのお返事ありがとうございます。実際には、null値を渡す方法を探していました(あなたは#1で正しく推測しました)。 "id"のデータ型をintからIntegerに変更しましたが、セッターを忘れました。次回は、IDEがそれをリファクタリングするようにします。あなたの詳細な有益な答えをもう一度ありがとうございます(私は十分な評判があれば、それを+1しました)! –