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의 숫자 값이 채워지지 않는다는 것입니다. float, Float, String 및 BigDecimal로 만들려고했는데 결과가 null 또는 0.0입니다.
을 기대하고 내가 처음 필드에 대한 세터에 중단 점을 넣어 시도했습니다
, 나는 무엇을 놓치고? JSON의 대문자가 문제를 일으킬 수 있습니까? 대체 필드 이름이 필요합니까?
여기서 Struct3의 코드는 무엇입니까? –
이 모든 인스턴스를 "생성"하는 유일한 코드는 MappingJackson2HttpMessageConverter를 포함하는 RESTTemplate을 호출하는 것입니다. 그것은 Struct3의 것들을 제외하고는 다른 모든 필드를 채우고 있습니다. – arcy