6
とJSONアレイデシリアライズ:いくつかのフィールドに基づいGsonは私は次のようにいくつかの奇妙なJSONを有する複数のオブジェクトタイプ
[
{
"type":"0",
"value":"my string"
},
{
"type":"1",
"value":42
},
{
"type":"2",
"value": {
}
}
]
を、アレイ内のオブジェクトは、特定のタイプです。 Gsonを使用して、私はTypeAdapterにこれらの特定の型のデリゲートアダプタを送信するTypeAdapterFactoryを持つことを考えていますが、作成する型を知るための "type"フィールドを読む良い方法を理解していません。 TypeAdapterで 、
Object read(JsonReader in) throws IOException {
String type = in.nextString();
switch (type) {
// delegate to creating certain types.
}
}
は、 "タイプ" フィールドには、私のJSONに最初に来ると仮定します。その前提を取り除くうまい方法がありますか?
コードを改善してくれたJakeに感謝します。 –
うん、良い例、あまりにも! –