-
Notifications
You must be signed in to change notification settings - Fork 25
/
Copy pathGsonTreeModelWrite.java
64 lines (49 loc) · 1.9 KB
/
GsonTreeModelWrite.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
package com.zetcode;
import com.google.gson.Gson;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.Writer;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;
class Car {
private final String name;
private final String model;
private final int price;
private final String[] colours;
public Car(String name, String model, int price, String[] colours) {
this.name = name;
this.model = model;
this.price = price;
this.colours = colours;
}
}
public class GsonTreeModelWrite {
public static void main(String[] args) throws FileNotFoundException, IOException {
List<Car> cars = new ArrayList<>();
cars.add(new Car("Audi", "2012", 22000,
new String[]{"gray", "red", "white"}));
cars.add(new Car("Skoda", "2016", 14000,
new String[]{"black", "gray", "white"}));
cars.add(new Car("Volvo", "2010", 19500,
new String[]{"black", "silver", "beige"}));
String fileName = "src/main/resources/cars.json";
Path path = Paths.get(fileName);
try (Writer writer = Files.newBufferedWriter(path, StandardCharsets.UTF_8)) {
Gson gson = new Gson();
JsonElement tree = gson.toJsonTree(cars);
JsonArray jarray = tree.getAsJsonArray();
JsonElement jel = jarray.get(1);
JsonObject object = jel.getAsJsonObject();
object.addProperty("model", "2009");
gson.toJson(tree, writer);
}
System.out.println("Cars written to file");
}
}