找到 211 篇文章 關於 JSON
3K+ 瀏覽量
Gson 的 @Expose 註解可以用來標記一個欄位是否需要暴露(包含或不包含)以進行序列化或反序列化。@Expose 註解可以接受兩個引數,每個引數都是一個布林值,可以取 true 或 false。為了讓 Gson 對 @Expose 註解做出反應,我們必須使用 GsonBuilder 類建立一個 Gson 例項,並需要呼叫 excludeFieldsWithoutExposeAnnotation() 方法,它配置 Gson 在序列化或反序列化時排除所有沒有 Expose 註解的欄位。語法public GsonBuilder excludeFieldsWithoutExposeAnnotation()示例import com.google.gson.*; import com.google.gson.annotations.*; public class JsonExcludeAnnotationTest { ... 閱讀更多
2K+ 瀏覽量
Gson 庫可用於將 JSON 字串解析為樹模型。我們可以使用 JsonParser 將 JSON 字串解析為 JsonElement 型別的樹模型。JsonElement 的 getAsJsonObject() 方法可用於將元素作為 JsonObject 獲取,而 JsonElement 的 getAsJsonArray() 方法可用於將元素作為 JsonArray 獲取。語法public JsonObject getAsJsonObject() public JsonArray getAsJsonArray()示例import java.util.List; import com.google.gson.*; public class JsonTreeModelTest { public static void main(String args[]){ String jsonStr = "{\"name\":\"Adithya\", \"age\":20, \"year of passout\":2005, \"subjects\": [\"MATHEMATICS\", \"PHYSICS\", \"CHEMISTRY\"]}"; JsonParser jsonParser = new JsonParser(); JsonElement jsonElement = jsonParser.parse(jsonStr); ... 閱讀更多
4K+ 瀏覽量
Jackson 註解 @JsonProperty 用於在 JSON 的序列化或反序列化期間使用在屬性或方法上。它接受一個可選的“name”引數,在屬性名稱與 JSON 中的“key”名稱不同時很有用。預設情況下,如果鍵名稱與屬性名稱匹配,則值將對映到屬性值。在下面的示例中,我們可以使用 @JsonProperty 註解更改 JSON 中的欄位名稱。示例import java.io.IOException; import com.fasterxml.jackson.databind.*; import com.fasterxml.jackson.annotation.JsonProperty; public class JsonPropertyAnnotationTest { public static void main(String[] args) throws IOException { ObjectMapper mapper = new ObjectMapper(); mapper.enable(SerializationFeature.INDENT_OUTPUT); User user = new ... 閱讀更多
2K+ 瀏覽量
Jackson 是一個用於 Java 的庫,它具有非常強大的資料繫結功能,並提供了一個框架來將自定義 Java 物件序列化為 JSON,並將 JSON 反序列化回 Java 物件。Jackson 庫提供了 @JsonInclude 註解,該註解根據序列化期間的值控制整個類的序列化或其各個欄位的序列化。@JsonInclude 註解包含以下兩個值Include.NON_NULL:表示只有值不為空的屬性才會包含在 JSON 中。Include.NON_EMPTY:表示只有非空屬性才會包含在 JSON 中示例import com.fasterxml.jackson.annotation.*; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.core.*; import com.fasterxml.jackson.databind.*; public class IgnoreNullAndEmptyFieldTest ... 閱讀更多
259 瀏覽量
Flexjson 是一個輕量級的 Java 庫,用於以 JSON 格式序列化和反序列化 Java bean、對映、陣列和集合。JSONSerializer 是執行 Java 物件到 JSON 序列化的主要類,預設情況下執行淺序列化。我們可以使用 JSONSerializer 類的 prettyPrint(boolean prettyPrint) 方法來美化列印 JSON。語法public JSONSerializer prettyPrint(boolean prettyPrint)在下面的程式中,使用 flexjson 庫美化列印 JSON 示例import flexjson.*; public class PrettyPrintJSONTest { public static void main(String[] args) { JSONSerializer serializer = new JSONSerializer().prettyPrint(true); // 美化列印 Employee emp = new Employee("Vamsi", "105", "Python Developer", "Python", "Pune"); String jsonStr = ... 閱讀更多
4K+ 瀏覽量
Flexjson 是一個輕量級的庫,用於將 Java 物件序列化和反序列化為 JSON 格式,允許物件進行深度和淺層複製。為了使用 flexjon 執行 Java 程式,我們需要匯入 flexjson 包。我們可以使用 JSONDeserializer 類的 deserialize() 方法將 JSON 反序列化為 Java 物件,它接收 json 字串作為輸入,並從該 json 表示生成靜態型別物件圖。預設情況下,它使用 json 資料中的類屬性將非型別通用 json 資料對映到特定的 Java 型別。語法public T deserialize(String input)在下面的程式中,反序列化... 閱讀更多
2K+ 瀏覽量
在將 JSON 字串解析為或從 Java 物件解析時,Gson 預設嘗試透過呼叫預設建構函式來建立 Java 類的例項。如果 Java 類不包含預設建構函式,或者我們希望在建立 Java 物件時進行一些初始配置,則需要建立並註冊我們自己的例項建立器。我們可以使用 InstanceCreator 介面在 Gson 中建立自定義例項建立器,並且需要實現 createInstance(Type type) 方法。語法T createInstance(Type type)示例import java.lang.reflect.Type; import com.google.gson.*; public class CustomInstanceCreatorTest { public static void main(String args[]) { GsonBuilder gsonBuilder = new GsonBuilder(); ... 閱讀更多
7K+ 瀏覽量
預設情況下,Gson 物件不會將具有空值的欄位序列化為 JSON。如果 Java 物件中的欄位為空,Gson 會將其排除。我們可以透過 GsonBuilder 類強制 Gson 序列化空值。我們需要在建立 Gson 物件之前在 GsonBuilder 例項上呼叫 serializeNulls() 方法。一旦呼叫了 serializeNulls(),由 GsonBuilder 建立的 Gson 例項就可以在序列化的 JSON 中包含空欄位。語法public GsonBuilder serializeNulls()示例import com.google.gson.*; import com.google.gson.annotations.*; public class NullFieldTest { public static void main(String args[]) { GsonBuilder builder = new GsonBuilder(); builder.serializeNulls(); ... 閱讀更多
瀏覽量:108
Gson 庫為其讀取和寫入的 Java 物件提供了一個簡單的版本控制系統,並且還為版本控制概念提供了名為 @Since 的註解 @Since(versionnumber)。我們可以使用 GsonBuilder().setVersion() 方法建立具有版本控制功能的 Gson 例項。如果我們像 setVersion(2.0) 那樣提及,則表示所有版本號為 2.0 或更小的欄位都有資格進行解析。語法public GsonBuilder setVersion(double ignoreVersionsAfter)示例import com.google.gson.*; import com.google.gson.annotations.*; public class VersionSupportTest { public static void main(String[] args) { Person person = new Person(); person.firstName = "Raja"; person.lastName = "Ramesh"; Gson gson1 = new GsonBuilder().setVersion(1.0).setPrettyPrinting().create(); ... 閱讀更多
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP