JSON в классы GSON и POJO - PullRequest
       22

JSON в классы GSON и POJO

0 голосов
/ 17 апреля 2020

У меня есть JSON ответ, подобный следующему:

{ "Номер": "123456789101112", "Размеры": "{\" высота \ ": \" 8.200 \ "\ "ширина \": \ "18,800 \", \ "глубина \": \ "9,400 \"}", "UOM": "сантиметр" }

Я использую следующее для преобразования из JSON в GSON

Gson gson = new Gson (); Подробности детали = gson.from Json (JSONresponse, Details .class);

Я хочу знать, как отобразить ответ JSON в мой класс pojo для преобразования этого JSON в GSON и получения индивидуального значения.

Я хочу знать, как получить доступ к высоте, ширине, глубине из ответа. Это мой текущий класс данных:

publi c Сведения о классе

{

private String number;

private String dimensions;

private String uom;

public void setNumber(String number){
    this.number = number;
}
public String getNumber(){
    return this.number;
}
public void setDimensions(String dimensions){
    this.dimensions = dimensions;
}
public String getDimensions(){
    return this.dimensions;
}
public void setUom(String uom){
    this.uom = uom;
}
public String getUom(){
    return this.uom;
}

}

1 Ответ

1 голос
/ 17 апреля 2020

Я бы смоделировал ваш POJO как:

public class Details {
    private Integer number;
    private Dimension dimensions;  // lowercase according to Java naming conventions
    private String uom;

    // getters and setters
}

public class Dimension {
    private String height;
    private String width;
    private String depth;

    // getters and setters
}

Затем просто используйте ваш текущий (правильный) код и затем получите доступ к любым полям, которые вы хотите:

Gson gson = new Gson();
Details details = gson.fromJson(JSONresponse, Details.class);
String height = details.getDimensions().getHeight();
...