繁体   English   中英

用Jackson嵌套JSON到Java映射

[英]Nested JSON to Java Mapping with Jackson

我有一个像这样的json结构:

   [
       {
        "param1": "one",
        "param2": "two",
        "nestedStruct1": {
            "param1": "one",
            "param2": "two",
            "param3": "three"
        },
    }
]

我们使用Jackson来执行json-to-java对象处理。 我不确定如何创建支持此嵌套json构造的相应Java类。

根据以下内容创建两个单独的类是否足够:

public class Outside {
    private String param1 = null;
    private String param2 = null;
    private Inside inside = new Inside();

    // appropriate getters and setters  
}

public class Inside {
    private String param1 = null;
    private String param2 = null;
    private String param3 = null;

    // appropriate getters and setters
}

任何见解都表示赞赏。 谢谢。

这看起来像一个JSON数组(很好,它的格式不正确),并且可以由ObjectMapper直接将其单个元素从以下类结构中反序列化。 我们一直在使用这种嵌入式结构。 元素必须是公共的(或具有相应的getter / setter),或者,如果我没记错的话,至少要受保护。 请注意,您的嵌入式结构的字段名称必须与JSON中的名称相对应:

public class Element {
  public String param1;
  public String param2;
  public Embedded nestedStruct1 = new Embedded();

  public static class Embedded {
    public String param1;
    public String param2;
    public String param3;
  } 
}

整个数组可以从列表List<Element>序列化。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM