Ich habe die folgende JSON Struktur:JSON-Parser nicht wiederkehrenden Zahlen
{
"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
},
}
}
}
I Frühling RESTTemplate und JacksonMapping2HttpMessageConverter benutzen und die folgenden Strukturen das Ergebnis der Parsen die oben JSON Struktur zu erhalten:
@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;
}
Alle diese haben auch geeignete Setter und Getter für alle Bereiche.
Mein Problem ist, dass die Zahlenwerte in Struct3 nicht ausgefüllt sind. Ich habe versucht, sie float, Float, String und BigDecimal zu machen, und das Ergebnis ist entweder Null oder 0.0.
Ich habe versucht, für das erste Feld einen Haltepunkt in dem Setter setzen,
die HoffnungWas bin ich? Können die Großbuchstaben im JSON ein Problem verursachen, brauche ich alternative Feldnamen?
Wo ist der Code zum Erstellen Ihrer Struct3? –
Der einzige Code, den ich zum "Erstellen" einer Instanz von all dem habe, ist der Aufruf der RESTTemplate, die den MappingJackson2HttpMessageConverter enthält; Es füllt alle anderen Felder aus, außer denen in Struct3. – arcy