如何解决如何为 Json Schema 编写 Java 模型类?
问题在于 coach
、goalkeepers
和 defender
之类的实体我不知道如何为这种响应创建一个类
{
"squad": [
[
"coach",[
{
"id": 78621,"name": "Gareth Southgate","ccode": "ENG","cname": "England"
}
]
],[
"goalkeepers",[
{
"id": 280287,"name": "Sam Johnstone","ccode": "8659","cname": "West bromwich Albion","role": "goalkeepers"
},{
"id": 303919,"name": "Jordan Pickford","ccode": "8668","cname": "Everton",{
"id": 746395,"name": "Aaron RamsDale","ccode": "8657","cname": "Sheffield United","role": "goalkeepers"
}
]
],[
"defenders",[
{
"id": 159833,"name": "Kyle Walker","ccode": "8456","cname": "Manchester City","role": "defenders"
},{
"id": 191869,"name": "Kieran Trippier","ccode": "9906","cname": "Atletico Madrid",{
"id": 247761,"name": "Conor Coady","ccode": "8602","cname": "Wolverhampton Wanderers",{
"id": 255610,"name": "Harry Maguire","ccode": "10260","cname": "Manchester United",{
"id": 263653,"name": "John Stones",{
"id": 362694,"name": "Luke Shaw",{
"id": 419664,"name": "Tyrone Mings","ccode": "10252","cname": "Aston Villa",{
"id": 672469,"name": "Ben Chilwell","ccode": "8455","cname": "Chelsea",{
"id": 776151,"name": "Ben White","ccode": "10204","cname": "Brighton & Hove Albion",{
"id": 807729,"name": "Reece James","role": "defenders"
}
]
],[
"midfielders",[
{
"id": 156008,"name": "Jordan Henderson","ccode": "8650","cname": "Liverpool","role": "midfielders"
},{
"id": 609755,"name": "Kalvin Phillips","ccode": "8463","cname": "Leeds United",{
"id": 654096,"name": "Declan Rice","ccode": "8654","cname": "West Ham United",{
"id": 750032,"name": "Mason Mount",{
"id": 1077894,"name": "Jude Bellingham","ccode": "9789","cname": "Borussia Dortmund","role": "midfielders"
}
]
],[
"attackers",[
{
"id": 194165,"name": "Harry Kane","ccode": "8586","cname": "Tottenham Hotspur","role": "attackers"
},{
"id": 246575,"name": "Raheem Sterling",{
"id": 312765,"name": "Jack Grealish",{
"id": 612150,"name": "Dominic Calvert-Lewin",{
"id": 696365,"name": "marcus Rashford",{
"id": 815006,"name": "Phil Foden",{
"id": 846381,"name": "Jadon Sancho",{
"id": 961995,"name": "Bukayo Saka","ccode": "9825","cname": "Arsenal","role": "attackers"
}
]
]
]
}
解决方法
1-熟悉数组和对象 2- 关于json格式的知识 3- 如果一个数组将它保存在一个集合中并且对象将成为该集合的一部分。
4- https://www.jsonschema2pojo.org/ 链接可能会在初始阶段为您提供帮助
,为 json 模式创建 Java POJO 时,您只需要映射字段。对于您的问题,我们可以这样做。
public class SquadDto{
List<Squad> squads;
}
public class Squad{
List<Coach> coach;
List<Goalkeeper> goalkeepers;
List<Defender> defenders;
List<Midfielder> midfielders;
List<Attacker> attackers;
}
public class Coach{
long id;
String name;
String ccode;
String cname;
String role;
}
同样,我们可以为 GoalKeeper,.. 创建类,以便它们映射 JSON 中的字段。
,如果您知道您收到的 JSON 文件的格式总是正确的,那么您可以使用上面 Karamveer 的回复。
如果没有,只需使用 Jackson、Gson、json-io 或 Genson 之类的东西来解析您收到的 JSON 文件。
然后您可以使用 JavaPoet 使用给定的 JSON 值生成您的类。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。