首先,我很抱歉复杂的标题,我找不到更好的方法来解释我的问题,但在这里我会这样做:
以下是我的两个POJO:
POJO 1:
public class Station {
private int id;
private String name;
private ArrayList<String> lines;
public Station(int id, String name, ArrayList<String> lines) {
this.id = id;
this.name = name;
this.lines = lines;
}
public int getId() {
return id;
}
public String getName() {
return name;
}
public ArrayList<String> getLines() {
return lines;
}
}
POJO 2:
public class Connection {
private Station origin;
private Station destination;
private double time;
public Connection(Station origin, Station destination, double time) {
this.origin = origin;
this.destination = destination;
this.time = time;
}
public int getOrigin() {
return origin.getId();
}
public int getDestination() {
return destination.getId();
}
public double getTime() {
return time;
}
}
正如您所看到的,我正在整合&#34; Station&#34; POJO进入&#34;连接&#34; POJO。 如果我现在想要将Connection的对象转换为JSON字符串,它显然会格式化两个工作站&#34; origin&#34;和&#34;目的地&#34;同样。但问题出在这里:我只想要&#34;起源&#34;和&#34;目的地&#34;由其代码表示,而不是诸如&#34; name&#34;之类的完整数据。或&#34;行&#34;。
如何让GSON忽略这些变量?
Kenta1561
答案 0 :(得分:0)
您不应忽略序列化中的这些值。
把它们放在那里没有什么不妥,没有什么不对。您应该解析数据库或UI中唯一必需的数据。
如果您只想在Connection中使用工作站ID和名称,那么您可以拥有一个仅包含id和name字段的抽象Connection类