我需要制作以下json:
[ { "contentType": "folder" },
{ "contentType": "image" },
{ "contentType": "video" }
]
在这样的数组中解析:
FileStructureElement [] elements[];
有:
public class FileStructureElement {
private ElementType contentType;
}
public enum ElementType {
FOLDER, IMAGE, VIDEO, DEFAULT;
}
这是一个简化的例子,FileStructureElement
类有更多的属性,与问题字段无关。
我想将contentType
属性的值加载为ElementType
. 我不能让枚举的值与 json 的类型匹配,因为 json 中的可能值之一是“默认”,它不是有效的枚举值。此外,我不想使用小写名称的枚举值。这基本上意味着我需要自定义 GSON 解析。有人可以帮我吗?
从这里开始的想法(检查我解析的属性的值并选择是否加载枚举值)对我没有帮助,因为我无法控制我与之交谈的 Web 服务接口并且这些值太明显了我冒着它们也将作为其他一些 json 属性的值出现的风险。