如何使用 Gson 从 JSON 中提取多个对象

How to extract multiple objects from JSON using Gson

有一个包含多个对象的 json 文件:

{
    "object1": {
        "property": "bar",
    },
    "object2": {
        "property": "foo",
    },
    "object3": {
        "property": "buzz"
    }
}

还有 3 个 类,Object1Object2Object3,如何将所有 3 个提取为单独的对象?

这显然不起作用:

Object1 = gson.fromJson(reader, Object1.class);
Object2 = gson.fromJson(reader, Object2.class);
Object3 = gson.fromJson(reader, Object3.class);

您只需要一个具有这三个属性的包装器 class

public class Wrapper {

 private Object1 object1;

 private Object2 object2;

 private Object3 object3;

  // getters and setters

}

然后用gson.fromJson把json解析成Wrapper

Wrapper wrapper = gson.fromJson(reader, Wrapper.class);

Wrapper获取所有必需的属性

Object1 object1 = wrapper.getObject1();
Object2 object2 = wrapper.getObject2();
Object3 object3 = wrapper.getObject3();