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

Java 如何使用Jackson编写嵌套JSON?,java,json,rest,api,jackson,Java,Json,Rest,Api,Jackson,目前,我正试图通过Java代码自动化JSON API。。我已经成功运行了JSON,没有嵌套。。现在在我们的API中,有嵌套的JSON,我需要通过POJO自动化它。。。我该怎么做 一个API为我工作,它只有一个参数 API的JSON { "userId": 1 }, 它的JAVA类 public class Post { @JsonProperty("userId") private String userId;

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

一个API为我工作,它只有一个参数

API的JSON

{
    "userId": 1

  },
它的JAVA类

   public class Post {

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

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

 }
现在我有了一个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"
                }
            }
        }
    }
}
我如何为它编写Java类


提前谢谢

您需要用Java类复制JSON结构。在您的情况下,应该是这样的:

public class Glossary {
       String title;
       GlossDiv glossDiv;
       {getters, setters}
}

public class GlossDiv {
       String title;
       GlossList glossList;

       public getGlossList() {
             return glossList;
       }

       public setGlossList(GlossList glossList) {
             this.glossList = glossList;
       }
}
依此类推,对于每个嵌套对象。

用于将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());

你能为一门课写下getter和setter吗(比如Glossay?)。。我怀疑如何为GlossList类编写getter和setter?非常感谢。。让我一天都很愉快最后一个问题。。如何处理“glossseeAllow”:[“GML”,“XML”]有[]个括号?您可以将该字段定义为字符串列表,或任何要存储在其中的内容。很抱歉再次打断您。。你能举个例子吗?非常感谢你的帮助,霍莉·曼诺利。非常感谢你!