Chúng tôi có thể đọc và ghi tệp bằng API phát trực tuyến Gson và nó dựa trên tiêu chuẩn đọc và ghi tuần tự. JsonWriter và JsonReader là các lớp cốt lõi được xây dựng để ghi và đọc trực tuyến trong API truyền trực tuyến . JsonWriter ghi một giá trị được mã hóa JSON vào một luồng, mỗi lần một mã thông báo. Luồng bao gồm cả giá trị chữ ( chuỗi, số, boolean và nulls ) cũng như bắt đầu và kết thúc dấu phân cách đối tượng và mảng và JsonReader đọc một giá trị được mã hóa JSON dưới dạng một luồng mã thông báo. Luồng này bao gồm cả nghĩa đen giá trị (s trings, số, boolean và null) cũng như bắt đầu và dấu phân cách cuối của các đối tượng và mảng. Các mã thông báo được chuyển qua orde-first orde r, cùng thứ tự mà chúng xuất hiện trong tài liệu JSON.
Ghi vào tệp bằng JsonWriter
Ví dụ
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(); } } }
Đầu ra
Data write to a file successfully
Đọc tệp bằng JsonReader
Ví dụ
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(); } } }
Đầu ra
Adithya 25 Java Scala Python