Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 我发现服务器端有两个json响应,它们的“键”相同_Android_Json_Retrofit2_Gson - Fatal编程技术网

Android 我发现服务器端有两个json响应,它们的“键”相同

Android 我发现服务器端有两个json响应,它们的“键”相同,android,json,retrofit2,gson,Android,Json,Retrofit2,Gson,第二个json响应是 我正在使用改装来获得响应。对于第一个json,我创建了Gson模型。但是,当响应是第二个json格式时,我没有任何响应模型 我使用GsonModel为第一个json响应显示数据。 如果有第二种类型的响应,我应该在这里做什么。我会在这里使用TypeToken还是其他什么 它也给了我一个解析异常,我理解。但是,我不知道我必须做什么。创建另一个模型 {"data":"please try again..."} if (data.equalsIgnoreCase("please

第二个json响应是

我正在使用改装来获得响应。对于第一个json,我创建了Gson模型。但是,当响应是第二个json格式时,我没有任何响应模型

我使用GsonModel为第一个json响应显示数据。 如果有第二种类型的响应,我应该在这里做什么。我会在这里使用TypeToken还是其他什么

它也给了我一个解析异常,我理解。但是,我不知道我必须做什么。

创建另一个模型

{"data":"please try again..."}
if (data.equalsIgnoreCase("please try again...") {
    //show error
} else {
    //do your work with response
}
在你的主要方法中:

class ErrorModel{
     String data;
}

如果出现错误,您会得到第二个响应吗?当我发布正确的手机号码时,我会得到第一个响应,如果手机号码不正确或与我的数据库条目不匹配,它会给我第二个响应。有关此代码工作原因的一些解释将非常有用
if (data.equalsIgnoreCase("please try again...") {
    //show error
} else {
    //do your work with response
}
class ErrorModel{
     String data;
}
try{
    GsonModel model = gson.fromJson(response,GsonModel.class);
    // ...
}catch(JsonSyntaxException e){
    ErrorModel model = gson.fromJson(response,ErrorModel.class);
    // show error
}