当前位置: 首页 > 知识库问答 >
问题:

一个@SerializedName允许多个数据类型

庞彬
2023-03-14
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结果都是用于序列化整个对象或反序列化的。我的一些想法…

  • 是否可以从三个值字段中删除@SerializedName并只序列化不为null的值?
  • 我是否可以在java中构建某种可选的数据类型对象,该对象基于具有值的数据类型进行设置?

这个对象是一个更大的对象的一部分,而subitems对象有一个相当大的深度,它只是一个注释。我希望这是一个重复的问题,我只是找不到它到目前为止。

我还发现我不能动态设置@SerializedValue属性Is-it-probable-to-pass-method-parameter-to-annotation-on-a-method?

第三次编辑:让我知道如果我应该删除一堆这种多余的。我正在尝试实现这个方法--内部序列化--尽管这个答案很老,现在很难实现。

共有1个答案

嵇俊德
2023-03-14

感谢Andreas的回答。

使用Object,我可以避免预先定义变量。

@SerializedName("value")
private Object value;

这允许我将字符串、整数或布尔传递给同一个值字段。

 类似资料:
  • 我是一个初学者与javascript和jQuery,我使用opencart和过滤器扩展。 我试图一次只显示一个数据切换。 过滤器扩展有多个选项,如类别、大小、类别、颜色等。单击每个选项时会显示一个隐藏的div,再次单击时会将其隐藏。 可以单击每个选项,同时显示所有隐藏的div。我试图一次只显示一个选项,因此,例如,单击选项a,它将打开,但如果在a打开时单击选项B,则B将打开,a将关闭。有点像开关。

  • 本文向大家介绍允许多个索引器参数?相关面试题,主要包含被问及允许多个索引器参数?时的应答技巧和注意事项,需要的朋友参考一下 参数的个数和类型都是任意的。加分的补充回答:用reflector反编译可以看出,索引器的内部本质上就是set_item、get_item方法。 基础知识: 索引的语法: public string this[string s],通过get、set块来定义取值、赋值的逻辑 索引

  • 问题内容: 我在PHP中运行一个脚本,该脚本uisng循环为MySQL创建了一个字符串查询。 执行脚本后,出现以下错误: “您的SQL语法有错误;请查看与您的MySQL服务器版本相对应的手册,以在’UPDATE BANNERS SET pos = 1 WHERE BID = 5; UPDATE BANNERS SET pos = 2 WHERE BID = 1’附近使用正确的语法。在第2行 在错误

  • 假设我有一个Java类... 我想将这个单独的类与两个不同的服务一起使用。然而,这两种服务在返回数据的方式上有所不同。 ...还有...

  • 问题内容: 我有一个,我想将用户的输入限制为纯数字或带小数的数字(最多2个小数位)。 基本上,我要输入价格。 我想避免做正则表达式。有办法吗? 问题答案: 代替允许使用小数位数的,而使用允许最多两位的小数。

  • 问题内容: 我读过猫鼬每个集合最多只能打开一个连接,并且没有选择来更改它。 这是否意味着缓慢的mongo查询将使所有后续查询都等待? 我知道node.js中的所有内容都是非阻塞的,但是我想知道慢速查询是否会延迟所有后续查询的执行。以及是否有办法改变这一点。 问题答案: 如果使用mongoose.connect()的默认方法,则它仅使用一个连接。要解决此问题,您可以创建多个连接,然后将指向同一架构的