Jackson アノテーションを使用して、シリアル化中に生成された json ラベルの名前を変更しようとしています。注釈はすべて正常にコンパイルされ、実行すると、Jackson のすべての注釈が完全に無視されることを除いて、Jackson のシリアル化が機能します。@JsonIgnore や @JsonProperty のような基本的なものでさえ、json 応答には影響しません。ビルドパスにあるライブラリは次のとおりです。
jsr311-qpi-1.1.1.jar
jackson-[core|databind|annotations]-2.2.0.jar
外部プログラムを次のように設定して、jetty 外部プログラムを実行している Eclipse 内で実行しています。
Location: .../apache-maven-2.2.1/bin/mvnDebug.bat
working Directory: ${workspace_loc:/ohma-rest-svr}
Arguments: jetty:run
Remote Java Application 構成を次のように設定します。
Host: localhost
Port: 8000
エラーメッセージが表示されないので、試してみることができません。どんなアイデアでも大歓迎です。
シリアル化する必要があるクラスのコード サンプルを次に示します。
@XmlRootElement(name="ads-parameter")
public class DefineParameterResponse {
private Date _createdAt = new Date();
@JsonProperty("created-at")
@JsonFormat(shape=JsonFormat.Shape.STRING, pattern="yyyy-MM-dd,HH:00", timezone="CET")
@XmlElement
public String getCreatedAt() {
return new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'").format(_createdAt);
}
@JsonProperty("created-at")
public void setCreatedAt(Date createdAt) {
this._createdAt = createdAt;
}
private String _dataTitle1 = "Default Title1";
@XmlElement
@JsonProperty("data-title-1")
public String getDataTitle1() {
return _dataTitle1;
}
@JsonProperty("data-title-1")
public void setDataTitle1(String dataTitle1) {
this._dataTitle1 = dataTitle1;
}
@XmlElement
@JsonProperty("data-title-2")
public String getDataTitle2() {
return _dataTitle2;
}
@JsonProperty("data-title-2")
public void setDataTitle2(String dataTitle2) {
this._dataTitle2 = dataTitle2;
}