JSON GSON - keshavbaweja-git/guides GitHub Wiki
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());
}
}