Keineswegs bin ich ein Jackon/JSON-Assistent, die wahrscheinlich aus der folgenden Frage ist, ich laufe in:Nesting mehrere Ebenen von Jackson WRAPPER_OBJECTs
Ich habe 2 mögliche Datenstrukturen ich empfangen werde. Die erste ist amountTransaction genannt:
{
"amountTransaction": {
"clientCorrelator":"54321",
"endUserId":"tel:+16309700001"
}
}
die durch die folgende Java-Objekt dargestellt wird:
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.WRAPPER_OBJECT)
@JsonTypeName(value = "amountTransaction")
@JsonInclude(JsonInclude.Include.NON_NULL)
public class AmountTransaction {
private String clientCorrelator;
private String endUserId;
...
}
jedoch das amountTransaction Objekt erscheint auch als untergeordnetes Element des paymentTransactionNotification Objekt:
{
"paymentTransactionNotification": {
"amountTransaction": {
"clientCorrelator": "54321",
"endUserId": "tel:+16309700001"
}
}
}
..die ich dachte, würde vertreten durch:
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.WRAPPER_OBJECT)
@JsonTypeName(value = "paymentTransactionNotification")
@JsonInclude(JsonInclude.Include.NON_NULL)
public class PaymentTransactionNotification {
private AmountTransaction amountTransaction;
...
}
Das Analysieren des JSON mit dem Objekt mengeTransaction funktioniert einwandfrei. Es ist ein ziemlich einfaches Beispiel für ein WRAPPER_OBJECT.
jedoch beim Versuch, die JSON für die paymentTransactionNotification zu analysieren, erhalte ich eine Ausnahme anzeigt, dass es nicht richtig mit dem amountTransaction als Element des paymentTransactionNotification umgehen kann:
com.fasterxml.jackson.databind.JsonMappingException: Could not resolve type id 'clientCorrelator' into a subtype of [simple type, class com.sf.oneapi.pojos.AmountTransaction]
Irgendwelche Gedanken darüber, wie ich kann dies richtig annotieren, damit mein Code sowohl eigenständige als auch gekapselte MengenTransaction-Objekte korrekt behandeln kann?
Ich denke, Sie sollten zeigen, wie Sie denken, dies sollte zu einem POJO zugeordnet werden - ich bin nicht ganz klar, wie es funktionieren würde, weil Eigenschaften eines POJO Namen haben, und Ihr JSON scheint diesen Teil der Informationen zu fehlen. – StaxMan