java - 如何在 Java 中为字段的动态数据类型创建 POJO 类?
问题描述
我有一个动态 JSON 响应。
如果用户只有一个地址,则 JSON 响应如下:-
{
"firstName": "Amod",
"lastName": "Mahajan",
"profession": "Software Tester",
"address": {
"houseNo": 404,
"streetName": "Not found",
"city": "Bengaluru",
"state": "KA",
"country": "IN"
}
}
如果用户有多个地址,则 JSON 响应如下:-
{
"firstName": "Amod",
"lastName": "Mahajan",
"profession": "Software Tester",
"address": [
{
"houseNo": 404,
"streetName": "Not found",
"city": "Bengaluru",
"state": "KA",
"country": "IN"
},
{
"houseNo": 204,
"streetName": "No Content",
"city": "Delhi",
"state": "DL",
"country": "IN"
}
]
}
如何创建一个可以同时容纳两者的 POJO?如果我为地址部分创建一个 POJO,那么首先我需要有“地址地址”,第二个需要“列表地址”。我想要它在单个 pojo 中,它可以动态地容纳两者。
解决方案
我认为对应于键“地址”类型的值应该总是用 type 声明array
,尽管它只有一个元素。如果不想更改 JSON 结构,POJO 类声明为以下代码。
public class Person {
// omit other fields and getter and setter.
List<Address> addressInfo;
}
可以看到,我们可以用List
来表示一个或多个地址信息,也可以用Address[]
来表示。
推荐阅读
- sql - 在 SQL Server 的列中搜索值
- python - DataFrame pop 函数在 Nest Dictionary 中删除想要的值
- arrays - 我非常坚持这个 Kata ...需要返回一个由偶数和奇数组成的数组,分成两部分
- gatsby - 在 Gatsby 源插件中更新数据
- javascript - 基本身份验证 axios - klarna 结帐
- php - 根据 Laravel 中的数据库值动态更改 SAAS 变量
- excel - 将文本拆分为列错误 VBA 1004 错误
- python - 使用__dict__时如何只获取没有父类的类内容
- cmd - 我可以使用 VBS 在 cmd telnet 会话中读取数据吗?
- android - SearchView 和 NavigationUI - 显示以前的结果