เอ Gson เป็นไลบรารี json สำหรับ Java และสามารถใช้สร้าง JSON ได้ ในขั้นตอนเริ่มต้น เราสามารถอ่านไฟล์ JSON และแยกวิเคราะห์ไปยังวัตถุ Java ได้ จากนั้นจำเป็นต้อง typecast วัตถุ Java เป็น JsonObject และแยกวิเคราะห์เป็น JsonArray . จากนั้นวนซ้ำอาร์เรย์ JSON นี้เพื่อพิมพ์ JsonElement . เราสามารถสร้าง JsonWriter คลาสเพื่อเขียนค่าที่เข้ารหัส JSON ไปยังสตรีม ครั้งละหนึ่งโทเค็น สุดท้าย สตริง JSON ใหม่สามารถเขียนลงในไฟล์ json ที่มีอยู่ได้
ตัวอย่าง
import java.io.*; import java.util.*; import com.google.gson.*; import com.google.gson.stream.*; import com.google.gson.annotations.*; public class JSONFilewriteTest { public static String nameRead; public static void main(String[] args) { try { JsonParser parser = new JsonParser(); Object obj = parser.parse(new FileReader("employee1.json")); JsonObject jsonObject = (JsonObject) obj; System.out.println("The values of employee1.json file:\n" + jsonObject); JsonArray msg = (JsonArray)jsonObject.get("emps"); Iterator<JsonElement> iterator = msg.iterator(); while(iterator.hasNext()) { nameRead = iterator.next().toString(); System.out.println(nameRead); } Name name = new Name(); name.setName("Vamsi"); Gson gson = new Gson(); String json = gson.toJson(name); FileWriter file = new FileWriter("employee1.json", false); JsonWriter jw = new JsonWriter(file); iterator = msg.iterator(); Employees emps = new Employees(); while(iterator.hasNext()) { emps.addEmployee(gson.fromJson(iterator.next().toString(), Name.class)); } emps.addEmployee(name); gson.toJson(emps, Employees.class, jw); file.close(); System.out.println("data added to an existing employee1.json file successfully"); } catch(Exception e) { e.printStackTrace(); } } } // Name class class Name { @Expose private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } } // Employees class class Employees { @Expose List<Name> emps = new ArrayList<>(); public List<Name> getEmployees() { return emps; } public void addEmployee(Name name) { this.emps.add(name); } }
ผลลัพธ์
The values of employee1.json file: {"emps":[{"name":"Adithya"},{"name":"Jai"}]} {"name":"Adithya"} {"name":"Jai"} data added to an existing employee1.json file successfully
ไฟล์employee1.json