使用可选字段类型为JSON对象定义Java接口
在GSON或Jackson中有没有办法用Java中的几种可能的类型定义字段?另外,是否可以定义可选字段 与我正在寻找的内容相当的TypeScript是:使用可选字段类型为JSON对象定义Java接口,java,json,typescript,jackson,gson,Java,Json,Typescript,Jackson,Gson,在GSON或Jackson中有没有办法用Java中的几种可能的类型定义字段?另外,是否可以定义可选字段 与我正在寻找的内容相当的TypeScript是: export interface MyInterface { myType: string; myOption: string | number; myPerhaps?: string; } 这只是一个例子string和number可以是任何对象,例如MyObjectOne和MyObjectTwo。有没有一种方法可以在
export interface MyInterface {
myType: string;
myOption: string | number;
myPerhaps?: string;
}
这只是一个例子string
和number
可以是任何对象,例如MyObjectOne
和MyObjectTwo
。有没有一种方法可以在Java中实现这一点?如果没有,是否为此构建了GSON或Jackson注释
可能传入的JSON对象如下所示
例1:
{
myType: "abc",
myOption: 5
}
例2:
{
myType: "def",
myOption: "ghi",
myPerhaps: "jkl"
}
我认为在Java中不可能定义多种类型,但最好的方法是尝试
对象
类,然后稍后将其强制转换。不,Java没有TypeScript那样的联合类型。(请注意,大多数强类型语言都不这样做,而且出于其他原因,JSON这样做对其他开发人员来说是不友好的。在大多数情况下,我更喜欢“5”
)我认为不可能在Java中定义多个类型,但最好的方法是尝试对象
类,然后稍后再强制转换它。不,Java不像TypeScript那样具有联合类型。(请注意,大多数强类型语言都不这样做,因此JSON这样做对其他开发人员来说是不友好的。在大多数情况下,首选“5”
)