如何为 Json Schema 编写 Java 模型类?

问题在于 coachgoalkeepersdefender 之类的实体我不知道如何为这种响应创建一个类

{
  "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"
        }
      ]
    ]
  ]
}
jmj1018856792 回答:如何为 Json Schema 编写 Java 模型类?

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 值生成您的类。

本文链接:https://www.f2er.com/228752.html

大家都在问