【问题标题】:Array of JSON Object to Java POJOJSON对象数组到Java POJO
【发布时间】:2019-08-10 10:11:15
【问题描述】:
将此 JSON 对象转换为 java 中的类,映射将如何在您的 POJO 类中?
{
"ownerName": "Robert",
"pets": [
{
"name": "Kitty"
},
{
"name": "Rex"
},
{
"name": "Jake"
}
]
}
【问题讨论】:
标签:
java
arrays
json
object
【解决方案1】:
这类问题很受欢迎,需要一般性的回答。如果您需要基于JSON 或JSON Schema 生成POJO 模型,请使用www.jsonschema2pojo.org。示例打印屏幕显示了如何使用它:
使用方法:
- 选择目标语言。
Java 在你的情况下。
- 选择来源。
JSON 在你的情况下。
- 选择注释样式。这可能很棘手,因为它取决于您要用于序列化/反序列化
JSON 的库。如果架构很简单,请不要使用注释(None 选项)。
- 选择其他可选配置选项,例如
Include getters and setters。您也可以在 IDE 中执行此操作。
- 选择
Preview 按钮。如果架构很大,请下载 ZIP 并生成类。
对于您的JSON,此工具会生成:
public class Person {
private String ownerName;
private List <Pet> pets = null;
public String getOwnerName() {
return ownerName;
}
public void setOwnerName(String ownerName) {
this.ownerName = ownerName;
}
public List < Pet > getPets() {
return pets;
}
public void setPets(List < Pet > pets) {
this.pets = pets;
}
}
public class Pet {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
对于Android Studio 和Kotlin,请阅读RIP http://www.jsonschema2pojo.org。
【解决方案2】:
在上面的 json 中,ownerName 作为属性,pets 作为对象列表
public class Response {
private String ownerName;
private List<Pet> pets;
// getters and setters
}
宠物 POJO
public class Pet {
private String name;
//getters and setters
}
【解决方案3】:
您可以使用以下类:
public class MyObject {
private String ownerName;
private List<Pet> pets;
}
public class Pet {
private String name;
}