我正在将对象上传到服务器,并且“值”字段接受字符串,整数和布尔值。
这里是@SeralizedName应用明显失败的模型。
public class InspectionFormItems {
@SerializedName("id")
private Integer id;
@SerializedName("type")
private String type;
@SerializedName("value")
private String stringValue;
@SerializedName("value")
private boolean boolValue;
@SerializedName("value")
private int intValue;
@SerializedName("name")
private String name;
@SerializedName("children")
ArrayList<ArrayList<InspectionFormItems>> subitems;
}
我发现的大多数stackoverflow结果都用于序列化整个对象或反序列化。我的一些想法是..
该对象是较大对象的一部分,而子项对象也具有一定的深度,就像注释一样。我希望这是某些问题的重复内容,但到目前为止我还是找不到。
编辑:
这是我发现的最接近的问题,尽管我宁愿不像此人那样自定义序列化整个对象,因为此传出的json中可能有40-100个这些对象 gson-same-field-name-different-types-serialize
我还发现我无法动态设置@SerializedValue属性 is-it-possible-to-pass-method-parameter-to-annotation-on-a-method?
第3次修改:让我知道是否应该删除这些多余的内容。我正在尝试实现此方法-inner serialization-尽管这个答案很旧,现在很难进行工作。
答案 0 :(得分:0)
感谢Andreas的回答。
使用 Object ,我可以避免预定义变量。
@SerializedName("value")
private Object value;
这使我可以将 String , Integer 或 boolean 传递到同一值字段。