2013-08-29 3 views
0

как я могу разобрать объект, который выглядит, как это с GSON:GSON из JSon файла объекта

{ response: 
      { value1: 0, 
      value2: "string", 
      bigjsonObject: { 
       value1b: 0, 
       bigJSONArray: [...] 
      } 
} 

Все примеры в GSON имеют менее смешанные типы значений, и документы уже что-то о том, как это может завинчивают десериализацию GSON, но не уточняют и все же предполагают, что GSON может сопоставить это с объектом.

Мой текущий тест с использованием gson.fromJSON(inputstream, myObject.class) возвращает объект с нулевыми значениями, поэтому он не отображает их.

myObject.class содержит ArrayList типа bigJSONArray

public class myObject { 

     private ArrayList<bigObjectModel> bigJSONArray; 

     myObject(){}; 
} 

мое предположение, что мой объект ArrayList не имеет типы, он ищет, или что-то. Но я не понимаю, как картирование должно работать в этом случае.

+1

post yo код ур. –

+1

'gson.fromJSON (inputstream, myObject.class)', вы хотите увидеть, как выглядит myObject.class? – CQM

+0

@SunilMishra содержит списки массивов объектов, я надеялся, что GSON просто пропустит пары ключ/значение, которые мой объект не объявил – CQM

ответ

1

Для того, чтобы разобрать

{ response: 
     { value1: 0, 
     value2: "string", 
     bigjsonObject: { 
      value1b: 0, 
      bigJSONArray: [...] 
     } 
} 

Вам нужен контейнерный класс, чтобы быть

public class myObject { 

    private int value1; 
    private String value2; 
    private Foo bigjsonObject; 
} 

Если класс Foo является

public class Foo { 

    private int value1b; 
    private ArrayList<bigObjectModel> bigJSONArray 
} 

Вы можете ommit любое поле и GSON будет просто skip it

+0

Это было очень полезно, оказалось, что мне пришлось много маневрировать для пользовательской сериализации – CQM

Смежные вопросы