How can we read and write files in Java using Gson streaming API?
We can use Gson Streaming API to read and write files, which is based on the sequential reading and writing standard. JsonWriter and JsonReader are core classes built for streaming writing and reading in the Streaming API. JsonWriterWrites JSON encoded values to the stream, one token at a time. The stream contains literal values ( strings, numbers, booleans, and null) as well as Start and End delimiters objects and arrays, JsonReaderRead JSON encoded values as a token stream. This stream contains literal values ( strings, numbers, booleans, and nulls) and start and End delimiter. Tokens are traversed in depth-first order r, in the same order in which they appear in the JSON document.
Write files using JsonWriter
Example
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(); } } }
Output
Data write to a file successfully<strong> </strong>
##Read files using JsonReader
Exampleimport 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();
}
}
}
Copy after login
Outputimport 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
Copy after login
Adithya 25 Java Scala Python
The above is the detailed content of How can we read and write files in Java using Gson streaming API?. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



The @SerializedName annotation can be used to serialize a field to a different name instead of the actual field name. We can provide the expected serialization name as an annotation attribute and Gson can ensure that the field with the provided name is read or written. Syntax@Retention(value=RUNTIME)@Target(value={FIELD,METHOD})public@interfaceSerializedNameExampleimportcom.google.gson.*;importcom.google.gson.annotations.*;public

The Gson@SerializedName annotation can be serialized to JSON and have the provided name value as its field name. This annotation can override any FieldNamingPolicy, including the default field naming policy that may have been set on the Gson instance. Different naming strategies can be set using the GsonBuilder class. Syntax@Retention(value=RUNTIME)@Target(value={FIELD,METHOD})public@interfaceSerializedNameExample importcom.google.gson.annotations.*;

Gson is a JavaJSON library created by Google. By using Gson, we can generate JSON and convert JSON to Java objects. We can create a Gson instance by creating a GsonBuilder instance and calling the create() method. We can use TypeToken class to parse JSON without duplicate keys. If we want to create a type literal for Map, we can create an empty anonymous inner class. If we try to insert duplicate keys it will generate error at runtime, "Exception in thread "main" com.google.gson.JsonSyntaxException"

AGson isaJSONlibraryforJava,whichiscreatedbyGoogle.ByusingGson,wecangenerateJSONandconvertJSONtojavaobjects.WecancreateaGsoninstancebycreatingaGsonBuilderinstance and calling withthe create()method.TheGson

When parsing a JSON string to or from a Java object, by default Gson attempts to create an instance of a Java class by calling the default constructor. If the Java class does not contain a default constructor or we want to do some initial configuration when creating a Java object, we need to create and register our own instance creator. We can create custom instance creator in Gson using InstanceCreator interface and need to implement createInstance(Typetype) method. Syntax TcreateInstance(Typetype) example importjava.lang.refle

AGson isalibrarythatcanbeusedtoparseJavaobjectstoJSON andvice-versa.ItcanalsobeusedtoconvertaJSONstringtoanequivalentJavaobject.InordertoparsejavaobjecttoJSONorJSONtojavaobject,weneedtoimportcom.google.gson packageintheJava

Gson is a javajson library created by Google that can be used to generate JSON. By using Gson we can generate JSON and convert JSON to java object. We can call the fromJson() method of the Gson class to convert the JSON object into a Java object. Syntax public<T>fromJson(java.lang.Stringjson,java.lang.Class<T>classOfT) throwsJsonSyntaxException Example importcom.google.gson.*;public

IfaJavaclassisagenerictypeandweareusingitwiththeGsonlibrary forJSONserialization anddeserialization.TheGsonlibraryprovidesaclasscalledcom.google.gson.reflect.TypeTokentostoregenerictypesbycreatingaGsonTypeTokenclassandpasstheclassty
