目前我正在尝试通过Java代码自动化JSON API。我已经成功运行了JSON而没有嵌套。现在在我们的API中,有嵌套的JSON,我需要通过POJO自动化...我该怎么办?它..
一个API为我工作,它有单个参数。
API的JSON
{
"userId": 1
},
JAVA Class for it。
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类?
提前致谢!
答案 0 :(得分: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());
答案 1 :(得分:2)
您需要使用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;
}
}
依此类推,对于每个嵌套对象。