私の目標は、JSONファイルまたはその一部をJavaのEnumクラスに解析することです。私はそれを簡単に行うことができますが、デバッグの理由から私はデフォルト値も含めたいと思います。GSONをEnumに使用してJSONを逆シリアル化する
だから、public enum MyEnum {
@SerializedName("texts")
TEXTS,
@SerializedName("buttons")
BUTTONS,
@SerializedName("inputs")
INPUTS,
DEFAULT
}
私は(ラッパークラスを使用して)このJSONを解析しようとした場合:
{enum: "buttons"}
私はMyEnum.BUTTONS
になるだろうが、私は解析しようとした場合:
{enum: "divider"}
私は考えそれでも価値を知りたい。私はDEFAULT
の値にマップされた文字列を維持して、すべての値(例えば、 "divider"、 "line"、 "color"、...)をDEFAULT
にマッピングしたいと思います。値 "divider"をMyEnum.DEFAULT
プロパティに保存することは可能でしょうか?
達成しようとしていることは明確ではありません。 'MyEnum.DEFAULT'にはシリアル化された値" divider "しかありませんか?または認識できないすべての文字列を 'DEFAULT'にマップしますか? – Timmos
カスタム(デ)シリアライザはおそらくオプションです。マニュアルを参照してください –
私の最新の編集を確認してください – urgas9