JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式。Java 通過 GSON 庫來處理 JSON 數據,而我們可以利用 GSON 庫提供的方法,解析 JSON 數據。
為了在 Java 中獲取 JSON 數據,我們需要使用 GSON 庫的 JsonReader、Gson、JsonElement 等類。其中,JsonReader 和 Gson 分別用于解析、構造 JSON 數據,而 JsonElement 則可以表示 JSON 數據流中的任何東西。
// 創建一個 Gson 對象 Gson gson = new Gson(); // 將 JSON 數據解析成 JsonObject 對象 JsonObject jsonObject = gson.fromJson(jsonData, JsonObject.class); // 獲取 JsonObject 對象中的某個屬性 JsonElement someProperty = jsonObject.get("propertyName");
JsonReader 通常用于解析 JSON 流,而不僅僅是從字符串中解析 JSON 對象。使用 JsonReader 可以按行處理 JSON 數據,處理時可以逐行讀取數據,從而降低內存使用。
// 使用 JsonReader 處理 JSON 流 JsonReader reader = new JsonReader(new StringReader(jsonString)); reader.setLenient(true); while (reader.hasNext()) { // 讀取某個屬性 reader.beginObject(); while (reader.hasNext()) { String name = reader.nextName(); if (name.equals("propertyName")) { // 處理這個屬性 } else { reader.skipValue(); } } reader.endObject(); }
除了解析和構造 JSON 數據外,GSON 庫還提供了一些其他功能。比如,可以使用 Gson 的 toJson() 方法將 Java 對象序列化成 JSON 字符串。
// 創建一個 Java 對象 MyClass obj = new MyClass(); // 將 Java 對象轉換為 JSON 字符串 String json = gson.toJson(obj);
總的來說,Java 獲取 JSON 數據需要使用 GSON 庫,其中 JsonReader、Gson 和 JsonElement 等類是常用的工具,可以幫助我們實現解析、構造和序列化 JSON 數據的功能。