Как удалить оболочку из объекта JSON? - PullRequest
2 голосов
/ 03 июня 2011

У меня есть объект JSON с оберткой, которая содержит информацию об услуге, из которой он получен. Прежде чем разбирать объект, который меня действительно волнует, я хотел бы снять обертку, а затем просто разобрать объект.

Как включить этот объект JSON:

{"object":{"id_object": 1, "description": "Black" }, "origin":"colors"}

В это:

{"id_object": 1, "description": "Black"}

Я использую GSON в качестве парсера JSON, но если какой-либо другой даст мне всю функциональность, я могу изменить библиотеку.

Заранее спасибо.

Ответы [ 2 ]

4 голосов
/ 03 июня 2011

Так как все это капля json, не имеет смысла «разворачивать ее».Просто проанализируйте все это, и возьмите значение ключа «объект», и идите оттуда.

1 голос
/ 03 июня 2011

Супер хакерское решение:

private class Holder{
    private IdHolder object;
    private String origin;

    public IdHolder getObject() {
        return object;
    }
    public String getOrigin() {
        return origin;
    }

    private class IdHolder{
        private int id_object;
        private String description;
    }
}


    Holder holder = gson.fromJson("{\"object\":{\"id_object\": 1, \"description\": \"Black\" }, \"origin\":\"colors\"}", Holder.class);
    System.out.println(gson.toJson(holder.getObject()));

Рекомендую ответить @bmargulies, хотя, это правильное решение.

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