无法使用Gson将包含嵌套json数组的json转换为等效的JAVA类

92dk7w1h  于 2022-11-06  发布在  Java
关注(0)|答案(1)|浏览(217)

使用的JSON字符串:

'{"Sensors":[{\"name\":\"BLRB50CM_A\",\"cameraId\":\"Cam10\",\"id\":1,\"resolution\":\"1280 x 720\",\"officeLocation\":\"Offshore Development Center\",\"tags\":\"Entrance Camera, Parking Lot\",\"isActive\":\"true\",\"hls\":\"https://bitdash-a.akamaihd.net/content/sintel/hls/playlist.m3u8\",\"rtsp\":\"rtsp://10.66.102.66:32278/mystream/parking_lot\",\"type\":\"sensor\",\"inputs\":[],\"outputs\":[2]}]}'

Java pojo类:

public class ServiceFlowData {

    public ArrayList<Sensor> sensors;

    public ArrayList<Sensor> getSensors() {
        return sensors;
    }

    public void setSensors(ArrayList<Sensor> sensors) {
        this.sensors = sensors;
    }
}

用于转换为java对象的代码

Gson gson = new Gson();
ServiceFlowData serviceFlowData = gson.fromJson(jsonString,ServiceFlowData.class);
System.out.println("serviceFlowData"+serviceFlowData.getSensors());

我正在获取传感器为空。
我在这里缺少什么?

56lgkhnf

56lgkhnf1#

您的json密钥是传感器,而不是传感器

解决方案1

试试换

public ArrayList<Sensor> sensors;

public ArrayList<Sensor> Sensors;

解决方案2

您可以使用@SerializedName注解将json键Map到具有不同名称的java变量。

相关问题