1
私は次のようなJSON構造を持ってを返さない:JSONパーサーは番号
{
"status": "Completed",
"notes": null,
"members": {
"0": {
"year": "2",
"details": {
"id": "14899975",
"anotherId": "11013306"
},
"aName": "Fred",
"amounts": {
"First": 589.48,
"Second": 1000,
"Third": 339.48
}
},
"1": {
"year": "2",
"details": {
"id": "14899976",
"anotherId": "11013306"
},
"aName": "George",
"amounts": {
"First": 222.22,
"Second": 2000,
"Third": 22.22
}
},
"2": {
"year": 1,
"details": {
"id": "14899976",
"anotherId": "11013306"
},
"aName": "Albert",
"amounts": {
"First": 333.33,
"Second": 3000,
"Third": 33.33
},
}
}
}
私は上記のJSONの構造を解析した結果を受け取るために春RESTTemplateとJacksonMapping2HttpMessageConverter、および以下の構造を使用しています:
@JsonIgnoreProperties(ignoreUnknown = true)
public class Response {
private String status;
private String notes;
private Map<String,Struct1> quotes;
}
@JsonIgnoreProperties(ignoreUnknown = true)
class Struct1 {
private int year;
private Struct2 details;
private String aName;
private Struct3 amounts;
}
@JsonIgnoreProperties(ignoreUnknown = true)
class Struct2 {
private String id;
private String anotherId;
}
@JsonIgnoreProperties(ignoreUnknown = true)
class Struct3 {
private float First;
private float Second;
private float Third;
}
これらはすべて、すべてのフィールドに適切なセッターとゲッターを持っています。
私の問題は、Struct3の数値の値が入力されていないことです。浮動小数点数、浮動小数点数、文字列、およびBigDecimalにしようとしましたが、結果はnullまたは0.0です。
私は私が何をしないのです
を期待して、最初のフィールドのセッターにブレークポイントを入れて試してみましたか? JSONの大文字で問題が発生する可能性がありますか、代替フィールド名が必要ですか?
ここで、Struct3を作成するためのコードはありますか? –
すべてのインスタンスを「作成」するための唯一のコードは、MappingJackson2HttpMessageConverterを含むRESTTemplateを呼び出しています。 Struct3のものを除いて、他のすべてのフィールドを埋めています。 – arcy