public class RequestResponseLogin
{
public ResponseLogin status;
public class ResponseLogin
{
public boolean success;
public List<String> message;
}
}
{
"status" : {
"success" : false
"message" : {
"Invalid credientials",
"....",
"...."
}
}
}
interface iLogin
{
@GET
RequestResponseLogin loginUser(@Query("user") String user, @Query("pass") String pass);
}
// ....
RequestResponseLogin response = data.loginUser("admin", "abc123");
message[0] = 'Invalid credentials';
message[1] = 'Invalid username';
message[2] = 'Password match correct';
但是,如果web服务器没有回复任何东西(成功登录),那么通过改型,我会得到一个异常,因为public list
是空的,web服务器回复的是一个简单的空字符串消息,而不是字符串数组。如果我将public list
更改为public String message;
,它就可以工作,但我不能,因为如果登录失败,它必须是一个字符串数组。
这与改装无关。默认情况下,Gson用于反序列化JSON响应。
由于您的服务器发回不一致的JSON结构,您应该在GSON
实例上使用自定义的TypeAdapter
来处理这个问题。
创建GSON
实例(在本例中为“GSON
”)后,可以通过它进行修改,如下所示:
RestAdapter ra = new RestAdapter.Builder()
// ... normal stuff ...
.setConverter(new GsonConverter(gson))
.build();
问题内容: 我必须处理动态JSON响应。 之前,我使用如下类和注释: 当状态为1(成功)时,将被触发,我可以得到一个ChatResponse对象。但是,当状态为0时,响应在JSON表示中为false,并且失败(触发)。 我想创建我的自定义转换器,这个问题有一个很好的示例,但是该示例适用于Retrofit 1。 我必须创建一个extends类,但是我不知道如何重写此类的方法。 其实我有下一个: 我现
但每次我都收到异常:创建@body转换器 我怎么送?或者其他我能做到的想法。您甚至可以向我提供包含json的简单参数。这对我很合适
我不熟悉GSON和改装,这是我的输出模型(仅供参考结构), 这是我的输出 这是我的改装代码 应为BEGIN_对象,但为BEGIN_数组“ 我尝试过用List替换RootObject
我在使用ActiveAndroid对API调用和数据库进行修改。在Pre6.0的Android设备上,一个应用程序可以很好地工作。无法确定根本原因。 改装2 Beta-4。Android6。无法创建转换器 我不明白为什么要使用gson或gsonbuilder? 感谢任何帮助。
问题内容: 我的JSF页面中有p:selectOneMenu,当我运行JSF页面时,我从Converter类收到以下异常。 我该如何解决这个问题? 我在实体类中有以下内容 EmployeeConverter类 并在jsf页面中 更新1 修改的转换器方法 更新2 问题答案: 用您的方法,您无法达到自己的价值。在这里,您将收到,因此您必须将其转换为(可能必须实现使用Service locator 加载
Reponse身体是“成功”。