2015-07-25 3 views
1

Я пытаюсь разобрать объект json с помощью gson. Мой объект json выглядит так.Gson: Как пропустить определенное поле

{ 
    "data": { 
    "id": "c33184ce", 
    "firstName": "testFirstName", 
    "lastName": "testLastName", 
    } 
} 

Мой текущий класс выглядит следующим образом:

public class User { 

    private Data data; 

    public Data getData() { 
     return data; 
    } 

    public void setData(Data data) { 
     this.data = data; 
    } 

    public class Data { 
     private String id; 
     // firstName, lastName 

     public String getId() { 
      return id; 
     } 

     public void setId(String id) { 
      this.id = id; 
     } 

     // firstName, lastName setters and getters 
    } 
} 

Все работает отлично, но когда я хочу, чтобы получить некоторые данные пользователя, я должен сделать это следующим образом:

user.getData().getId(); 

ли существует какой-то способ самостоятельно анализировать данные пользователя и избегать этого объекта данных, поэтому я могу получить доступ к этому идентификатору пользователя?

user.getId(); 

ответ

0

Если вы не хотите, класс пользователя, вы можете преобразовать строку JSON в JSONObject, а затем получить его объект данных и сохранить идентификатор в списке или что-то ....

образец кода :

String json = "your json here"; 
Gson gson = new Gson(); 
JsonObject jsonObject = gson.fromJson(json, JsonObject.class); 
Data data = gson.fromJson(((JsonObject)jsonObject.get("Data")), Data.class); 

System.out.println("Data id:" + data.id); 
Смежные вопросы