![](/img/trans.png)
[英]gson parsing error when found same keys with different types of value in json
[英]Same named fields with different types in gson parsing
我有一個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調用中的消息列表將“請求”作為字符串而不是“ RequestModel”對象。
有什么方法可以使它解析為其他名稱,或者完全忽略它以繞過由於類型不同而引起的異常。
在聲明成員的@SerializedName("")
之前,請使用注釋@SerializedName("")
,
如果你的json看起來像這樣
{
name:"",
age:0,
items:[...]
}
但是您的模型類具有字段
class User{
String name;
int age;
Data userItems[];
}
模型中的字段userItems
在json中被命名為items
,您需要在字段上使用該注釋:
class User{
String name;
int age;
@SerializedName("items")
Data userItems[];
}
這樣,GSON會將items
映射到userItems
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.