เราสามารถอ่านและเขียนไฟล์โดยใช้ 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