Ho cercato Stack Overflow prima di postare, ma non c'erano soluzioni per Jackson.
Ecco una risposta del server:
Jackson desrialize quando JsonProperty è a volte array e talvolta un singolo oggetto
{
"ok": true,
"result": [
{
"update_id": 489881731,
//rest
},
{
"update_id": 489881732,
//rest
}
]
}
Come vedete proprietà "result"
è un array.
Ora, questo è un altro di risposta:
{
"ok": true,
"result": {
"id": 211948704,
"first_name": "ربات ادمینهای تلگرام",
"username": "tgAdminsBot"
}
}
Qui "result"
è un singolo oggetto.
Questa è la mia classe che desidero deserializzare i contenuti. Ho scritto un deserializzatore personalizzato per TObject
naturalmente:.?
public class Result
{
private TObject[] result;
private boolean ok;
public void setOk (boolean ok) {//code}
public void setResult (TObject[] result) {//code}
public TObject[] getResult() {//code}
public boolean getOk(){//code}
}
così ho pensato nella mia classe che "result"
è un array di TObject
s Ora che cosa posso fare Sta usando @JsonProperty("result")
per due settori che uno è una serie di TObject
s ed uno è un singolo TObject
OK?
Se non che altro posso fare?
probabilmente questo può aiutare 'DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY' http://stackoverflow.com/questions/17003823/make-jackson-interpret-single-json-object-as-array-with- one-element/17004714 # 17004714 o questo: http://stackoverflow.com/search?q = DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY – varren
Ha funzionato perfettamente! Grazie! –
@varren, si prega di postarlo come risposta in modo che la domanda possa essere chiusa correttamente, grazie –