Java 当json键与jackson相同时解析json

Java 当json键与jackson相同时解析json,java,android,json,jackson,Java,Android,Json,Jackson,我有一个json,它的键与这里显示的键相同 { "tests": [ { "id": 1, "object_type": "bla", "objects": { "id": 59, "company_name": "apple", "project_name": "iphone", "duration": 145 } }, { "id": 66,

我有一个json,它的键与这里显示的键相同

{
  "tests": [
    {
      "id": 1,
      "object_type": "bla",
      "objects": {
        "id": 59,
        "company_name": "apple",
        "project_name": "iphone",
        "duration": 145
      }
    },
    {
      "id": 66,
      "object_type": "gla",
      "objects": {
        "id": 59,
        "institution_name": "Test",
        "subject": "Gsks",
        "duration": 2
      }
    }
  ]
}
当我创建类时

A.课堂 列出myClass

TestClass.class

int id;
String object type;
@JsonProperty("objects")
Company objects1;
@JsonProperty("objects")
Subject objects2;
但当我想解析它时,Jackson给了我一个无法解析的错误,因为我的类有两个对象,我的意思是json有键对象,它的主体有不同的键

注意:我知道当我有一个对象时我可以解析它。。。但我必须按照上面解释的那样做


有办法做到这一点吗

根据Sfat的评论:可以是一种方法

根据我的评论,

我的意思是:

创建子公司类,如下所示,其中包含公司和主题类中的所有字段

当您想在反序列化之后检索Subject或Company对象时,请检查SubCompany的类型,并根据该类型获取相关对象

if(type.equals("Subject")
    Subject sub = subCompany.getSubject();

这是您接收到的JSON并且在接收时没有选择,还是您可以更改该JSON?您可以在这里使用继承。并在将JSON转换回object之前检查JSON中的字段。最坏的情况是,创建一个包装类并使用它。例如:创建包含所有字段的子公司类。当您从对象中取回对象时,请检查存在哪些字段。此外,您可以从JSON本身发送一个标志,并从诸如getCompany或getSubject@ADi谢谢你的评论。但我不明白你说的是什么。。你能给我举个例子吗?
if(type.equals("Subject")
    Subject sub = subCompany.getSubject();