เราสามารถอ่านและเขียนไฟล์โดยใช้ Gson streaming API และเป็นไปตามมาตรฐานการอ่านและเขียนตามลำดับ JsonWriter และ JsonReader เป็นคลาสหลักที่สร้างขึ้นสำหรับการสตรีมการเขียนและอ่านใน Streaming API . JsonWriter เขียนค่าที่เข้ารหัส JSON ไปยังสตรีม ครั้งละหนึ่งโทเค็น สตรีมมีทั้งค่าตามตัวอักษร (สตริง ตัวเลข บูลีน และค่าว่าง ) เช่นเดียวกับ เริ่มต้น และ จบ ตัวคั่น ของอ็อบเจ็กต์และอาร์เรย์ และ JsonReader อ่านค่าที่เข้ารหัส JSON เป็นสตรีมของโทเค็น สตรีมนี้มีทั้ง ตัวอักษร คุณค่า (s สตริง ตัวเลข บูลีน และค่าว่าง) เช่นเดียวกับ เริ่มต้น และ สิ้นสุดตัวคั่น ของวัตถุและอาร์เรย์ โทเค็นถูกสำรวจในลำดับเชิงลึกก่อน ร ลำดับเดียวกับที่ปรากฏในเอกสาร JSON
เขียนไปยังไฟล์โดยใช้ JsonWriter
ตัวอย่าง
import java.io.*; import com.google.gson.stream.*; public class JsonWriterTest { public static void main(String args[]) { JsonWriter writer; try { writer = new JsonWriter(new FileWriter("input.json")); writer.beginObject(); writer.name("name").value("Adithya"); writer.name("age").value(25); writer.name("technologies"); writer.beginArray(); writer.value("Java"); writer.value("Scala"); writer.value("Python"); writer.endArray(); writer.endObject(); writer.close(); System.out.println("Data write to a file successfully"); } catch(Exception e) { e.printStackTrace(); } } }
ผลลัพธ์
Data write to a file successfully
อ่านไฟล์โดยใช้ JsonReader
ตัวอย่าง
import java.io.*; import com.google.gson.stream.*; public class JsonReaderTest { public static void main(String args[]) { JsonReader reader; try { reader = new JsonReader(new FileReader("input.json")); reader.beginObject(); while(reader.hasNext()) { String name = reader.nextName(); if(name.equals("name")) { System.out.println(reader.nextString()); } else if(name.equals("age")) { System.out.println(reader.nextInt()); } else if(name.equals("technologies")) { reader.beginArray(); while(reader.hasNext()) { System.out.println(reader.nextString()); } reader.endArray(); } else { reader.skipValue(); } } reader.endObject(); reader.close(); } catch(Exception e) { e.printStackTrace(); } } }
ผลลัพธ์
Adithya 25 Java Scala Python