我們如何使用Gson串流API在Java中讀寫檔案?
我們可以使用Gson Streaming API讀寫文件,它基於順序讀寫標準。 JsonWriter和JsonReader是為Streaming API中的串流寫入和讀取而建構的核心類別。 JsonWriter將 JSON 編碼值寫入流,一次一個令牌。該流包含文字值(字串、數字、布林值和null)以及開始和結束分隔符號物件和數組, JsonReader將JSON 編碼值讀取為令牌流。此流包含文字值(字串、數字、布林值和空值)以及開始和結束分隔符號。標記依照深度優先順序r進行遍歷,與它們在 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<strong> </strong>
使用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
以上是我們如何使用Gson串流API在Java中讀寫檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

@SerializedName註解可以用於將欄位序列化為不同的名稱,而不是實際的欄位名稱。我們可以將預期的序列化名稱作為註解屬性提供,Gson可以確保讀取或寫入具有提供的名稱的欄位。語法@Retention(value=RUNTIME)@Target(value={FIELD,METHOD})public@interfaceSerializedNameExampleimportcom.google.gson.*;importcom.google.gson.annotations.*;public

Gson@SerializedName註解可以序列化為JSON,並將提供的名稱值作為其欄位名稱。此註解可以覆寫任何FieldNamingPolicy,包括可能已在Gson實例上設定的預設欄位命名策略。可以使用GsonBuilder類別來設定不同的命名策略。語法@Retention(value=RUNTIME)@Target(value={FIELD,METHOD})public@interfaceSerializedName範例importcom.google.gson.annotations.*;

Gson是一個由Google創建的JavaJSON庫。透過使用Gson,我們可以產生JSON並將JSON轉換為Java物件。我們可以透過建立一個GsonBuilder實例並呼叫create()方法來建立一個Gson實例。我們可以使用TypeToken類別來解析沒有重複鍵的JSON。如果我們想為Map建立一個類型文字,我們可以建立一個空的匿名內部類別。如果我們嘗試插入重複的鍵,它將在運行時產生錯誤,"線程“main”com.google.gson.JsonSyntaxException中出現異

AGson 是 Google 建立的 Java JSON 函式庫。透過使用 Gson,我們可以產生 JSON 並將 JSON 轉換為 java 物件。我們可以透過建立 GsonBuilder 實例並使用 create() 方法呼叫來建立 Gson 實例。

在將JSON字串解析為Java物件或從Java物件解析JSON字串時,預設情況下Gson嘗試透過呼叫預設建構子來建立Java類別的實例。如果Java類別不包含預設建構函式或我們想在建立Java物件時進行一些初始配置,我們需要建立並註冊自己的實例建立器。我們可以建立自訂實例建立器在Gson中使用InstanceCreator介面並且需要實作createInstance(Typetype)方法。語法TcreateInstance(Typetype)範例importjava.lang.refle

AGson 是一個函式庫,可用於將Java 物件解析為JSON,反之亦然。它也可以用於將JSON 字串轉換為等效的Java 物件。為了將java 物件解析為JSON 或JSON 為java 對象,我們需要在Java 中導入com.google.gson 包

Gson是一個javajson庫,由Google創建,可用於產生JSON。透過使用Gson,我們可以產生JSON並將JSON轉換為java物件。我們可以呼叫Gson類別的fromJson()方法將JSON物件轉換為Java物件。語法public<T>fromJson(java.lang.Stringjson,java.lang.Class<T>classOfT)throwsJsonSyntaxException範例importcom.google.gson.*;public

如果Java 類別是通用類型,並且將其與Gson 庫一起使用以進行JSON 序列化和反序列化。Gson 庫提供了一個名為com.google.gson.reflect.TypeToken 的類,透過建立GsonTypeToken 類別並傳遞classty 來儲存通用類型
