이것은 이전에 여기에서 물었던 이전 질문과 관련이 있습니다.
동일한 JSON을 구문 분석하려고하지만 이제 클래스를 약간 변경했습니다.
{
"lower": 20,
"upper": 40,
"delimiter": " ",
"scope": ["${title}"]
}
내 수업은 이제 다음과 같습니다.
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;
}
}
이 코드는 예외를 발생시킵니다.
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
이전 질문에 대한 해결책에 따라 GSON은 Enum 객체가 실제로 다음과 같이 생성 될 것으로 예상하기 때문에 예외를 이해할 수 있습니다.
${title}("${title}"),
${description}("${description}");
그러나 이것은 구문 적으로 불가능하기 때문에 권장되는 솔루션과 해결 방법은 무엇입니까?