Gson:如何跳过特定领域

时间:2015-07-25 08:46:57

标签: java json gson

我试图用gson解析json对象。我的json对象看起来像这样。

{
  "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();

是否有某种方法可以直接解析用户的数据并避免使用该数据对象,因此我可以像这样访问用户的ID?

user.getId();

1 个答案:

答案 0 :(得分:0)

如果您不想要User类,可以将您的json字符串转换为JsonObject,然后获取其数据对象并将ID保存在列表中......或者其他内容....

示例代码:

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);