Я пытаюсь разобрать объект JSON с помощью GSON.
Мой JSON:
{ "truncate": [
{
"lower": 20,
"upper": 40,
"delimiter": " ",
"scope": ["$title"]
},
{
"lower": 30,
"upper": 65,
"delimiter": " "
}
] }
Я определил свои 2 класса, например:
public class TruncateObj {
private List<TruncateObjectChild> objChild;
// getter and setter
}
и
public class TruncateObjectChild {
private int lower;
private int upper;
private String delimiter;
private List<String> scope;
// getters and setters
}
Оператор My Parsing
Gson gson = new Gson();
TruncateObj truncation = gson.fromJson(template, TruncateObj.class);
По какой-то причине это не работает. Gson создает дочерний элемент TruncatObj
, но List<TruncateObjectChild>
внутри TruncateObj имеет значение null.
Что не так в том, что я делаю?
Поле objChild
в вашем TruncateObj
не соответствует имени, которое оно имеет в JSON. Переименуйте поле в truncate
и повторите попытку.
В качестве альтернативы вы можете аннотировать поле objChild
с помощью @SerializedName("truncate")
, чтобы сообщить gson использовать значение из поля truncate
в JSON в качестве значения для поля objChild
в вашем Java-объекте.