Java 从rest API读取数据后为空值

Java 从rest API读取数据后为空值,java,json,gson,Java,Json,Gson,我有类似的问题,但我无法解决 我从中读取数据时遇到问题 Responsy body非常好,但当我尝试将其转换为RaceList对象时,它的外观如下所示: package stefanowicz.kacper.model; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; import java.util.List; @Da

我有类似的问题,但我无法解决 我从中读取数据时遇到问题

Responsy body非常好,但当我尝试将其转换为RaceList对象时,它的外观如下所示:

package stefanowicz.kacper.model;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class RaceList {
    private List<Race> races;
}
包stefanowicz.kacper.model;
导入lombok.allargsconstuctor;
进口龙目造船厂;
导入龙目数据;
导入lombok.noargsconstuctor;
导入java.util.List;
@资料
@诺尔格构装师
@AllArgsConstructor
@建筑商
公务舱赛马名单{
私人名单种族;
}
每个种族的“Race_id”等于0,“name”为null


RaceList(races=[种族(种族)id=0,name=null),种族(种族id=0,name=null),种族(种族id=0,name=null),种族(种族id=0,name=null),种族(种族id=0,name=null),种族(种族id=0,name=null),种族(种族id=0,name=null),种族(种族id=0,name=null),种族(种族id=0,name=null),种族(种族id=0,name=null)(race_id=0,name=null)、race(race_id=0,name=null)、race(race_id=0,name=null)、race(race_id=0,name=null)、race(race_id=0,name=null)、race(race_id=0,name=null)、race(race_id=0,name=null)、race(race_id=0,name=null)、race(race_id=0,name=null)、race(race_id=0,name=null)、race(race_id=0,name=null)、race(race_id=0,name=null)、race(race_id=0,name=null)、race(race_id=0,name=null)、race(race_id=0,name=null)、race(race_id=0,name=null)、race(race_id=0,name=null)、race(race_id=0,name=null)、race(race_id=0,name=null)、race(race_id=0,name=null)、race(race_id=0,name=null)、race(race_id=0,name=null)、race(race_id=0,name=null)、race(race_id=0,name=null)、race(race_id=0,name=null)、race(race_id=0,name=null)、race(race_id=0,name=null)、race(race_id=0,name=null)、race(race_id=0,name=null)、race(race_id=0,name=null)、race(race\u id=0,name=null),race(race\u id=0,name=null),race(race\u id=0,name=null)])

我认为您的类应该是这样的:

package stefanowicz.kacper.model;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class Race {
    private long race_id;
    private String name;
}
public class RaceList {
    private List<Race> races;
}

public class Race {
    private RaceData race;
}

public class RaceData {
    private long race_id;
    private String name;
    /* ... */
}
公共级别比赛名单{
私人名单种族;
}
公共级别比赛{
私人赛马场;
}
公共类赛马数据{
私人长跑比赛;
私有字符串名称;
/* ... */
}

如果
races
是保存
RaceList
对象的变量的名称,那么第一场比赛的名称应被访问为
races.getRaces().get(0).getRace().getName()

谢谢大家,我希望你们的回答能让我找到最好的解决方案:

@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class RaceList {
    private List<Map<String, Race>> races;
}
@数据
@诺尔格构装师
@AllArgsConstructor
@建筑商
公务舱赛马名单{
私人名单种族;
}

您缺少
RaceList
Race
之间的对象级别(类)。
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class RaceList {
    private List<Map<String, Race>> races;
}