Извлечь динамический JSON с помощью gson, а дооснащение возвращает null? - PullRequest
0 голосов
/ 08 июня 2018

У меня есть динамический json с динамическими вложенными объектами, я создал эти pojo, но model всегда равен NULL. Я не знаю, что я сделал неправильно.

Вот мой JSon

{
    "status": 200,
    "message": "Accepted, Ok",
    "model": {
        "مشخصات کلي": {
            "ابعاد": "125X98X76 ميلي متر",
            "وزن": "480 گرم",
            "ضد آب": false
        },
        "حسگر و تصوير": {
            "محدوده دقت حسگر": "20.0 مگاپيکسل و بيشتر",
            "نوع حسگر": "CMOS",
            "قطع حسگر": "Crop Frame",
            "ابعاد حسگر": "APS-C (23.5 x 15.6 mm)",
            "دقت حسگر": "25 مگاپيکسل",
            "دقت موثر حسگر": "24.2 مگاپيکسل",
            "حداکثر رزولوشن عکس": "6000X4000"
        },
        "لنز": {
            "محدوده زوم": "6 تا 10 برابر بزرگنمايي",
            "فاصله کانوني": "18-140 ميلي متر",
            "محدوده ديافراگم": "F/3.5-5.6",
            "بزرگ نمايي اپتيکال": "7.7 برابر",
            "لرزشگير تصوير": true
        },
        "فيلم": {
            "رزولوشن فيلم": "Full HD",
            "حداکثر سرعت فيلم": "60 فريم بر ثانيه",
            "فيلمبرداري سه بعدي": false
        }
    }
}

и вот соответствующий POJO:

public class ProductTechnicalResponse {
    @SerializedName("status")
    @Expose
    private Integer status;
    @SerializedName("message")
    @Expose
    private String message;
    @SerializedName("model")
    @Expose
    private Model model;
}


class Model {
    Map<String, Map<String,Object>> pairs;
}

1 Ответ

0 голосов
/ 08 июня 2018

Измените ваш POJO на это:

public class ProductTechnicalResponse {
    @SerializedName("status")
    @Expose
    private Integer status;
    @SerializedName("message")
    @Expose
    private String message;
    @SerializedName("model")
    @Expose
    private Map<String, Map<String, Object>> model;
}

модель - это карта, а не структура с картой.

...