找到 211 篇文章 適用於 JSON

如何在 Java 中使用 @Expose 註解從 JSON 中排除欄位?

raja
更新於 2020 年 7 月 6 日 06:52:49

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 {   ... 閱讀更多

我們如何在 Java 中使用 Gson 流式 API 讀取和寫入檔案?

raja
更新於 2020 年 7 月 6 日 06:24:19

911 次檢視

我們可以使用 Gson 流式 API 讀取和寫入檔案,它基於順序讀取和寫入標準。JsonWriter 和 JsonReader 是為流式寫入和讀取而在 Streaming API 中構建的核心類。JsonWriter 將 JSON 編碼的值一次寫入一個令牌到流中。該流包含文字值(字串、數字、布林值和空值)以及物件和陣列的開始和結束分隔符,而 JsonReader 將 JSON 編碼的值讀取為令牌流。此流包含文字值(字串、數字、布林值和空值)以及物件和陣列的開始和結束分隔符。該 ... 閱讀更多

如何在 Java 中將 JSON 解析為 Gson 樹模型?

raja
更新於 2020 年 7 月 6 日 06:04:59

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); ... 閱讀更多

如何在 Java 中使用 Jackson 更改 JSON 中的欄位名稱?

raja
更新於 2020 年 7 月 6 日 06:06:00

4K+ 次檢視

Jackson 的 @JsonProperty 註解用於在 JSON 的序列化或反序列化期間應用於屬性或方法。它接收一個可選的“name”引數,當屬性名稱與 JSON 中的“鍵”名稱不同時,此引數很有用。預設情況下,如果鍵名稱與屬性名稱匹配,則值將對映到屬性值。在下面的示例中,我們可以使用 @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 ... 閱讀更多

如何在 Java 中使用 Jackson 庫忽略空值和空欄位?

raja
更新於 2020 年 7 月 6 日 05:57:50

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 ... 閱讀更多

使用 flexjson 庫在 Java 中美化列印 JSON?

raja
更新於 2020 年 7 月 6 日 05:53:33

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 = ... 閱讀更多

如何在 Java 中使用 flexjson 將 JSON 反序列化為 Java 物件?

raja
更新於 2020 年 7 月 4 日 13:01:23

4K+ 次檢視

Flexjson 是一個輕量級的庫,用於將 Java 物件序列化和反序列化為 JSON 格式,允許物件進行深複製和淺複製。為了使用 flexjon 執行 Java 程式,我們需要匯入 flexjson 包。我們可以使用 JSONDeserializer 類的 deserialize() 方法將 JSON 反序列化為 Java 物件,它將 json 字串作為輸入,並從該 json 表示生成靜態型別的物件圖。預設情況下,它使用 json 資料中的類屬性將非型別化通用 json 資料對映到特定的 Java 型別。語法public T deserialize(String input)在下面的程式中,反序列化 ... 閱讀更多

在 Java 中使用 Gson 自定義例項建立器?

raja
更新於 2020 年 7 月 4 日 12:48:43

2K+ 次檢視

在將 JSON 字串解析為 Java 物件或從 Java 物件解析為 JSON 字串時,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();   ... 閱讀更多

如何在 Java 中使用 Gson 庫序列化空欄位?

raja
更新於 2020 年 7 月 4 日 12:34:19

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();       ... 閱讀更多

如何在 Java 中配置 Gson 以啟用版本控制支援?

raja
更新於 2020 年 7 月 4 日 12:20:30

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();   ... 閱讀更多

廣告

© . All rights reserved.