2016-05-18 22 views
1

私はログインしています。データが正しいリターンである場合は、次のデータが正しくないリターンがあるGsonはJSONの異なるタイプを逆シリアル化します(ANDROID)

{ 
    "a": 1, 
    "b":2, 
    "c":3 
} 

場合は、次の

{ 
    "status": false, 
    "error": { 
    .... etc 
    } 

} 

をどのように私のモデルは... 私はGSONを使用していなければなりません?。

マイコード:

Gson gson = new Gson(); 
//As I can get two types of answers, as would my code? 
//Model model = gson.fromJson(my_json, Model.class); 
+2

モデルに可能なすべてのフィールドを入れ、 'null'を' error'にチェックするのはなぜですか? – SqueezyMo

答えて

1

私はあなたにこの方法をお勧め:

:SqueezyMoはコメントで言ったように

if(responsecode==200){ 
    Model model = gson.fromJson(my_json, Model.class); 
} 
else if (responsecode==error){ 
    AnotherModel anothermodel = gson.fromJson(my_json, AnotherModel.class); 
} 

はまた別の方法は、1つのPojoクラス内のすべての可能な応答を入れています

{ 
    "a": 1, 
    "b":2, 
    "c":3, 
    "status": false, 
    "error": "wrong password" 
} 

上記のjsonの例をこのサイトに貼り付けます:Json Schema 2 Pojo Pojoクラスを生成

関連する問題