我将RequestModel定义为
public class RequestModel
{
public class Footage
{
public String date;
public String retrievedAt;
public String videoFileName;
public String availableUntil;
public boolean isAvailable;
}
public class People
{
public String first;
public String last;
}
public static final int USER_BLOCKED = 0;
public static final int USER_ACTIVE = 1;
public static final int USER_WAIT_PIN = 2;
public String _id;
public String status;
public String submittedAt;
public Footage footage;
public People teacher;
public People student;
public ArrayList<MessageModel> messages = new ArrayList<MessageModel>();
public boolean isExpanded = false;
public RequestModel()
{
}
我的MessageModel定义为
public class MessageModel
{
public String _id;
public String statusMessage;
public String submittedAt;
public RequestModel request;
public String status;
public String timestamp;
public boolean isExpanded = false;
public MessageModel()
{
}
}
我有一个api调用,它会拉出一个“RequestModel”项。但是,该api调用中的消息列表将“request”作为String而不是“RequestModel”对象。
有什么方法可以让它作为一个不同的名称进行解析,或完全省略它以绕过由于不同类型而导致的异常。
答案 0 :(得分:0)
在声明成员为其指定替代名称之前,请使用注释it('should call Service.createUser and set a message', function(){
scope.submitNewForm();
scope.$$postDigest(function(){
scope.$digest();
expect(scope.message).toBeDefined();
});
});
前,
如果你的json看起来像这样
@SerializedName("")
但你的模型类有字段
{
name:"",
age:0,
items:[...]
}
模型中的字段class User{
String name;
int age;
Data userItems[];
}
在json中命名为userItems
,
你需要在字段上使用该注释:
items
这样GSON会将class User{
String name;
int age;
@SerializedName("items")
Data userItems[];
}
映射到items
。