如何使用Jackson编写嵌套的JSON?

mas*_*urm 2 java api rest json jackson

目前我正在尝试通过Java代码自动化JSON API.我已经成功运行了JSON而没有嵌套.现在在我们的API中,有嵌套的JSON,我需要通过POJO自动化...我该怎么做...

一个API适用于我,它有单个参数.

API的JSON

{
    "userId": 1

  },
Run Code Online (Sandbox Code Playgroud)

JAVA类吧.

   public class Post {

        @JsonProperty("userId")
        private String userId;          
        public String getUserId()
        {
           return userId;
        }

        public void setUserId(String userId) 
        {       
            this.userId = userId;   
        }

 }
Run Code Online (Sandbox Code Playgroud)

现在我有一个API,它有多个嵌套参数..如何创建相同的Java类?

嵌套的JSON

{
    "glossary": {
        "title": "example glossary",
        "GlossDiv": {
            "title": "S",
            "GlossList": {
                "GlossEntry": {
                    "ID": "SGML",
                    "SortAs": "SGML",
                    "GlossTerm": "Standard Generalized Markup Language",
                    "Acronym": "SGML",
                    "Abbrev": "ISO 8879:1986",
                    "GlossDef": {
                        "para": "A meta-markup language, used to create markup languages such as DocBook.",
                        "GlossSeeAlso": ["GML", "XML"]
                    },
                    "GlossSee": "markup"
                }
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我怎么能为此编写Java类?

提前致谢!

Pra*_*kar 7

使用link将你的json转换为java类,只需将你的json粘贴到这里下载类结构.

您可以使用访问嵌套的json字段.(点)运算符

例如:如果您想要从GlossEntry访问ID,使用以下代码

  ObjectMapper mapper = new ObjectMapper();
  String jsonString="";
  Glossary_ sc=mapper.readValue(jsonString,Glossary_.class);

System.out.println("ID:"+sc.getGlossDiv().getGlossList().getGlossEntry().getID());
Run Code Online (Sandbox Code Playgroud)