Разбор JSON с использованием Gson - PullRequest
1 голос
/ 21 ноября 2011

Я пытаюсь проанализировать объект 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
}

Мое утверждение анализа

 Gson gson = new Gson();   
 TruncateObj truncation = gson.fromJson(template, TruncateObj.class);

По какой-то причине это не работает. Gson создает дочернего элемента TruncatObj, но List<TruncateObjectChild> в TruncateObj имеет значение null.

Что плохого в том, что я делаю?

1 Ответ

3 голосов
/ 21 ноября 2011

Поле objChild в вашем TruncateObj не соответствует имени, которое оно имеет в JSON.Переименуйте поле в truncate и повторите попытку.

В качестве альтернативы вы можете аннотировать поле objChild с помощью @SerializedName("truncate"), чтобы указать gson использовать значение из поля truncate в JSON в качествезначение для поля objChild в вашем Java-объекте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...