Spring中的JSON ObjectMapper-如何将JSON映射到三个类?

时间:2018-11-02 11:31:26

标签: java json spring spring-boot

我有一个JSON文件:

=Clean(Trim(MID(A6,FIND("System image file",A6)+21,LEN(A6)-FIND("System image file",A6)+21)))

和模型类: First.java

{
  "a": "content",
  "b": "content",
  "c": "content",
  "parameters": [
    {
      "a": "content",
      "b": "content"
    }
  ],
  "parameters2": [
    {
      "a": "content"
    },
    {
      "b": "content"
    }
  ]
}

和两个参数类,如:

@Id
    @Column(name="a")
    String a;

    @Column(name="b")
    String b;

    @Column(c= "c")
    String author;

    @OneToMany
    List<Parameters> parameters = new LinkedList<>();

    @OneToMany
    List<Parameters2> parameters2= new LinkedList<>();

我想用ObjectMapper映射我的JSON。 “ a”:“内容”,   “ b”:“内容”,   “ c”:“ content”我想映射到FirstClass.java,但将参数和parameter2数组映射到另外两个类。 我怎样才能做到这一点? 现在,我尝试@Entity @Table(name = "table") public class Parameters{ @Id int id; @Column(name = "a") String a; } ,但是它不起作用。

1 个答案:

答案 0 :(得分:0)

头等舱应该是

@Id
@Column(name="a")
String a;

@Column(name="b")
String b;

List<Parameter1> parameters;

List<Parameter2> parameters2;

您的Parameter1就像

@Id
@GeneratedValue
Long id
@Column(name="a")
String a;

@Column(name="b")
String b;

和parameter2类类似

@Entity
@Table(name = "table")
public class Parameters{

    @Id
    int id;

    @Column(name = "a")
    String a;
}