找到 211 篇文章 關於 JSON 的

在 Java 中何時使用 @JsonValue 註解?

raja
更新於 2020 年 2 月 19 日 10:02:51

5K+ 次瀏覽

@JsonValue 註解在方法級別很有用。我們可以使用此註解從 Java 物件生成 JSON 字串。如果我們想列印一個序列化物件,則覆蓋 toString() 方法。但是使用 @JsonValue 註解,我們可以定義 Java 物件序列化的方式。語法@Target(value={ANNOTATION_TYPE, METHOD, FIELD}) @Retention(value=RUNTIME) public @interface JsonValueExampleimport com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonValue; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import java.io.IOException; public class JsonValueAnnotationTest {    public static void main(String args[]) throws Exception {       ObjectMapper mapper = new ObjectMapper();       String jsonString = mapper.writeValueAsString(new Student());       System.out.println(jsonString);    } } ... 閱讀更多

如何在 Java 中使用 flexjson 中的 @JSON 註解控制序列化?

raja
更新於 2020 年 7 月 9 日 06:17:06

228 次瀏覽

@JSON 註解由 JSONSerializer 類使用,用於在序列化過程中排除或包含欄位。我們可以使用 JSONSerializer 類的 serialize() 方法對目標例項執行淺序列化。語法@Retention(value=RUNTIME) @Target(value={FIELD, TYPE, METHOD}) public @interface JSONExampleimport flexjson.JSONSerializer; import flexjson.JSON; public class JSONAnnotationTest {    public static void main(String[] args) {       JSONSerializer serializer = new JSONSerializer().prettyPrint(true);       Employee emp = new Employee("Raja", "Ramesh", 30, "Hyderabad");       String jsonStr = serializer.serialize(emp);       System.out.println(jsonStr);    } } // Employee 類 class Employee {    private String firstName, lastName, address;    private ... 閱讀更多

如何在 Java 中使用 @JsonDeserialize 註解實現自定義反序列化器?

raja
更新於 2020 年 7 月 9 日 06:19:40

3K+ 次瀏覽

@JsonDeserialize 註解用於在將 JSON 反序列化為 Java 物件時宣告自定義反序列化器。我們可以透過擴充套件 StdDeserializer 類並使用泛型型別 Employee 來實現自定義反序列化器,並且需要覆蓋 StdDeserializer 類的 deserialize() 方法。語法@Target(value={ANNOTATION_TYPE, METHOD, FIELD, TYPE, PARAMETER}) @Retention(value=RUNTIME) public @interface JsonDeserialize在下面的程式中,我們可以使用 @JsonDeserialize 註解實現自定義反序列化器示例import java.io.*; import com.fasterxml.jackson.core.*; import com.fasterxml.jackson.databind.*; import com.fasterxml.jackson.databind.annotation.*; import com.fasterxml.jackson.databind.deser.std.*; public class JsonDeSerializeAnnotationTest {    public static void main (String[] args) throws JsonProcessingException, IOException {       Employee emp = new Employee(115, "Adithya");       ObjectMapper mapper = new ObjectMapper();     ... 閱讀更多

如何在 Java 中使用 @JsonSerialize 註解實現自定義序列化器?

raja
更新於 2020 年 7 月 9 日 05:49:14

2K+ 次瀏覽

@JsonSerialize 註解用於在序列化欄位時宣告自定義序列化器。我們可以透過擴充套件 StdSeralizer 類來實現自定義序列化器。並且需要覆蓋 StdSerializer 類的 serialize() 方法。語法@Target(value={ANNOTATION_TYPE, METHOD, FIELD, TYPE, PARAMETER}) @Retention(value=RUNTIME) public @interface JsonSerialize在下面的程式中,我們可以使用 @JsonSerialize 註解實現自定義序列化器示例import java.io.*; import com.fasterxml.jackson.core.*; import com.fasterxml.jackson.databind.*; import com.fasterxml.jackson.databind.annotation.*; import com.fasterxml.jackson.databind.ser.std.*; public class JsonSerializeAnnotationTest {    public static void main (String[] args) throws JsonProcessingException, IOException {       Employee emp = new Employee(115, "Adithya", new String[] {"Java", "Python", "Scala"});       ObjectMapper mapper = new ... 閱讀更多

如何在 Java 中使用 JSON-lib API 將 JSON 字串轉換為 Bean?

raja
更新於 2020 年 7 月 9 日 05:18:38

1K+ 次瀏覽

JSON-lib API 是一個 Java 庫,用於以 JSON 格式序列化和反序列化 Java Bean、對映、陣列和集合。我們需要透過先將字串轉換為 JSON 物件,然後將其轉換為 Java Bean 來將 JSON 字串轉換為 Bean。語法public static Object toBean(JSONObject jsonObject, Class beanClass)在下面的程式中,我們可以將 JSON 字串轉換為 Bean。示例import net.sf.json.JSONObject; import net.sf.json.JSONSerializer; public class ConvertJSONStringToBeanTest {    public static void main(String[] args) {       String jsonStr = "{\"firstName\": \"Adithya\", \"lastName\": \"Sai\", \"age\": 30, \"technology\": \"Java\"}";       JSONObject jsonObj = (JSONObject)JSONSerializer.toJSON(jsonStr); // 將字串轉換為 JSON 物件 ... 閱讀更多

在 Java 中使用 Jackson 的 @JsonIdentityInfo 註解的重要性?

raja
更新於 2020 年 7 月 9 日 05:13:16

1K+ 次瀏覽

@JsonIdentityInfo 註解在 Jackson 庫中物件具有父子關係時使用。 @JsonIdentityInfo 註解用於指示序列化和反序列化過程中的物件標識。ObjectIdGenerators.PropertyGenerator 是一個抽象佔位符類,用於表示物件識別符號來自 POJO 屬性的情況。語法@Target(value={ANNOTATION_TYPE, TYPE, FIELD, METHOD, PARAMETER}) @Retention(value=RUNTIME) public @interface JsonIdentityInfoExampleimport java.util.*; import java.io.*; import com.fasterxml.jackson.annotation.JsonIdentityInfo; import com.fasterxml.jackson.annotation.ObjectIdGenerators; import com.fasterxml.jackson.databind.ObjectMapper; public class JsonIdentityInfoTest {    public static void main(String[] args) throws IOException {       ObjectMapper mapper = new ObjectMapper();       User user = new User(115, "Raja", "Ramesh");       ... 閱讀更多

如何在 Java 中使用 JSON-lib API 將 JSON 陣列轉換為陣列?

raja
更新於 2020 年 7 月 8 日 12:53:38

1K+ 次瀏覽

JSONArray 是一系列值,外部文字是用方括號括起來的字串,用逗號分隔值,內部文字是一個具有 get() 和 opt() 方法的物件,我們需要透過索引訪問這些值。element() 方法用於新增或替換這些值。陣列是一個儲存多個相同型別值的容器。它可以同時儲存基本型別和物件引用。我們可以使用 JSONArray 類的 toArray() 方法將 JSON 陣列轉換為陣列。此方法生成一個包含 JSONArray 內容的 Object[]。語法public Object[] toArray()示例import java.util.Arrays; import net.sf.json.JSONArray; public ... 閱讀更多

如何在 Java 中使用 Gson 中的 @Since 註解?

raja
更新於 2020 年 7 月 8 日 12:38:47

323 次瀏覽

@Since 註解可以與 GsonBuilder 類的 setVersion() 方法一起使用。此註解可以應用於 Java 類中的欄位,並接受浮點數作為引數。此引數表示欄位序列化所在的版本號。同樣可以應用於反序列化過程。語法@Documented @Retention(value=RUNTIME) @Target(value={FIELD, TYPE}) public @interface Since示例import com.google.gson.annotations.Since; import com.google.gson.Gson; import com.google.gson.GsonBuilder; public class GsonSinceAnnotationTest {    public static void main(String[] args) {       Employee emp = new Employee();       emp.setEmployeeName("Raja Ramesh");       emp.setEmployeeId(125);       emp.setEmployeeTechnology("Java");       emp.setEmploeeAddress("Hyderabad");       System.out.println("Since 版本 ... 閱讀更多

如何在 Java 中使用 Gson 庫中的 @Until 註解?

raja
更新於 2020 年 7 月 8 日 12:01:11

256 次瀏覽

@Until 註解可以與 GsonBuilder 類的 setVersion() 方法一起使用。此註解可以應用於 Java 類中的欄位,並接受浮點數作為引數。此引數表示欄位被序列化的版本號。@Until 註解可以管理 Web 服務中 JSON 類的版本控制。語法@Documented @Retention(value=RUNTIME) @Target(value={FIELD, TYPE}) public @interface Until示例import com.google.gson.annotations.Until; import com.google.gson.Gson; import com.google.gson.GsonBuilder; public class GsonUntilAnnotationTest {    public static void main(String[] args) {       Employee emp = new Employee();       emp.setEmployeeName("Adithya");       emp.setEmployeeId(115);       emp.setEmployeeTechnology("Python");       emp.setEmploeeAddress("Pune");       ... 閱讀更多

在 Java 中使用 Jackson 時 @JsonRootName 註解的重要性?

raja
更新於 2020-07-08 11:40:50

1K+ 次瀏覽

@JsonRootName 註解可用於將要序列化的物件包裝在一個頂級元素中。我們可以將名稱作為引數傳遞給 @JsonRootName 註解。我們可以使用 SerializationFeature 列舉的 "WRAP_ROOT_VALUE" 功能,該功能可以啟用,以使根值包裝在一個具有單個屬性的 JSON 物件中,其中鍵是根名稱。示例import com.fasterxml.jackson.annotation.JsonRootName; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.SerializationFeature; public class JsonRootNameAnnotationTest {    public static void main(String args[]) throws JsonProcessingException {       ObjectMapper mapper = new ObjectMapper();       String jsonString = mapper.enable(SerializationFeature.WRAP_ROOT_VALUE).writeValueAsString(new Employee());       System.out.println(jsonString);    } } @JsonRootName(value ... 閱讀更多

廣告

© . All rights reserved.