次の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 の可能な値の 1 つが有効な列挙値ではない「デフォルト」であるため、enum の値を json のタイプと一致させる余裕はありません。さらに、小文字の名前の列挙値を持たないようにしたいと思います。これは基本的に、GSON 解析のカスタマイズが必要であることを意味します。誰かがそれを手伝ってくれますか?
ここからのアイデア(解析するプロパティの値をチェックし、enum 値をロードするかどうかを選択する) は、私が話している Web サービス インターフェイスを制御できず、値が明白すぎるため、役に立ちません。他の json 属性の値としても存在する可能性があります。