Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用可选字段类型为JSON对象定义Java接口_Java_Json_Typescript_Jackson_Gson - Fatal编程技术网

使用可选字段类型为JSON对象定义Java接口

使用可选字段类型为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。有没有一种方法可以在

在GSON或Jackson中有没有办法用Java中的几种可能的类型定义字段?另外,是否可以定义可选字段

与我正在寻找的内容相当的TypeScript是:

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”