JSON GSON - keshavbaweja-git/guides GitHub Wiki

Parse an array of json objects

gsonTestModel.json

[
  {
    "field1": "value1",
    "field2": "value2",
    "field3": "value3",
    "containers": [
      {
        "name": "container1",
        "image": "image1"
      },
      {
        "name": "container2",
        "image": "image2"
      }
    ]
  }
]

Model Class

public class GsonTestModel {

    private final String field1;
    private final String field2;
    private final List<Container> containers;

    public GsonTestModel(String field1, String field2, List<Container> containers) {
        this.field1 = field1;
        this.field2 = field2;
        this.containers = containers;
    }

    @Override
    public String toString() {
        return "GsonTestModel{" +
                "field1='" +
                field1 +
                '\'' +
                ", field2='" +
                field2 +
                '\'' +
                ", containers=" +
                containers +
                '}';
    }

    public String getField1() {
        return field1;
    }

    public String getField2() {
        return field2;
    }

    static class Container {
        private final String name;
        private final String image;

        public Container(String name, String image) {
            this.name = name;
            this.image = image;
        }

        @Override
        public String toString() {
            return "Container{" +
                    "name='" +
                    name +
                    '\'' +
                    ", image='" +
                    image +
                    '\'' +
                    '}';
        }
    }
}

Parsing Logic

    @Test
    public void testFromJson() {
        try (FileReader fileReader = new FileReader(new File("src/test/resources/gsonTestModel1.json"))) {
            final Gson gson = new Gson();
            GsonTestModel[] gsonTestModel = gson.fromJson(fileReader,
                    GsonTestModel[].class);
            System.out.println(Arrays.toString(gsonTestModel));
        } catch (Exception e) {
            fail("failure in testFromJson()" +
                    e.getMessage());
        }
    }
⚠️ **GitHub.com Fallback** ⚠️