Questo è legato ad una precedente interrogazione che ho chiesto qui in precedenzaUtilizzando enumerazioni durante l'analisi JSON con GSON
Sto cercando di analizzare la stessa JSON, ma ora ho cambiato le mie classi un po ' .
{
"lower": 20,
"upper": 40,
"delimiter": " ",
"scope": ["${title}"]
}
mia classe ora assomiglia:
public class TruncateElement {
private int lower;
private int upper;
private String delimiter;
private List<AttributeScope> scope;
// getters and setters
}
public enum AttributeScope {
TITLE("${title}"),
DESCRIPTION("${description}"),
private String scope;
AttributeScope(String scope) {
this.scope = scope;
}
public String getScope() {
return this.scope;
}
}
Questo codice genera un'eccezione,
com.google.gson.JsonParseException: The JsonDeserializer EnumTypeAdapter failed to deserialized json object "${title}" given the type class com.amazon.seo.attribute.template.parse.data.AttributeScope
at
L'eccezione è comprensibile, perché come per la soluzione alla mia precedente interrogazione, GSON è mi aspettavo che gli oggetti Enum fossero effettivamente creati come
${title}("${title}"),
${description}("${description}");
Ma poiché questo è sintatticamente impossibile, quali sono le soluzioni consigliate, soluzioni alternative?
Grazie mille. Questo ha funzionato. –
Funziona !! Grazie!! –