找到關於 JSON 的211 篇文章

在 Java 中使用 Jackson API 的 @JsonRawValue 註解有什麼用?

raja
更新於 2020年7月8日 11:38:24

1K+ 次瀏覽

@JsonRawValue 註解可用於方法和欄位,用於按宣告方式序列化欄位或屬性。例如,如果我們的 Java 類中有一個 String 欄位,則 JSON 值將用引號 (" ") 括起來。但是,當我們用 @JsonRawValue 註解該欄位時,Jackson 庫會省略引號。語法@Target(value={ANNOTATION_TYPE, METHOD, FIELD}) @Retention(value=RUNTIME) public @interface JsonRawValue在下面的示例中,empAddress 欄位是一個 JSON 字串。此 JSON 字串被序列化為 Employee 物件的最終 JSON 字串的一部分。示例import com.fasterxml.jackson.annotation.JsonRawValue; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.core.JsonProcessingException; public class JsonRawValueAnnotationTest { public static void main(String args[]) throws JsonProcessingException { ... 閱讀更多

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

raja
更新於 2020年7月8日 11:34:52

3K+ 次瀏覽

JSONObject 類是名稱/值對(無序)的集合,其中 Bean 是一個類,其成員欄位具有 setter 和 getter 方法。我們可以使用 JSONObject 類的 toBean() 方法將 JSON 物件轉換為 Bean。語法public static Object toBean(JSONObject jsonObject, Class beanClass)示例import net.sf.json.JSONObject; public class ConvertJSONObjToBeanTest { public static void main(String[] args) { Employee emp = new Employee("Sai", "Ram", 30, "Bangalore"); JSONObject jsonObj = JSONObject.fromObject(emp); System.out.println(jsonObj.toString(3)); // pretty print JSON emp = (Employee)JSONObject.toBean(jsonObj, Employee.class); System.out.println(emp.toString()); } // Employee class public static ... 閱讀更多

Java 中 @JsonFilter 註解的重要性?

raja
更新於 2020年7月8日 11:35:40

812 次瀏覽

@JsonFilter 註解用於定義自定義過濾器以序列化 Java 物件。我們需要使用 FilterProvider 類來定義過濾器並獲取實際的過濾器例項。現在透過將 FilterProvider 分配給 ObjectMapper 類來配置過濾器。語法@Target(value={ANNOTATION_TYPE, TYPE, METHOD, FIELD, PARAMETER}) @Retention(value=RUNTIME) public @interface JsonFilter在下面的示例中,宣告為 @JsonFilter 註解引數的 customFilter 僅提取名稱並過濾掉 Bean 的其他屬性。示例import com.fasterxml.jackson.annotation.JsonFilter; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ser.FilterProvider; import com.fasterxml.jackson.databind.ser.impl.SimpleBeanPropertyFilter; import com.fasterxml.jackson.databind.ser.impl.SimpleFilterProvider; public class JsonFilterAnnotationTest { public static void main(String args[]) throws JsonProcessingException { ... 閱讀更多

何時在 Java 中使用 Jackson 的 @JsonManagedReference 和 @JsonBackReference 註解?

raja
更新於 2020年7月8日 11:36:22

4K+ 次瀏覽

@JsonManagedReference 和 @JsonBackReference 註解可用於以雙向方式建立 JSON 結構。@JsonManagedReference 註解是正向引用,在序列化過程中包含;而 @JsonBackReference 註解是反向引用,在序列化過程中省略。在下面的示例中,我們可以實現 @JsonManagedReference 和 @JsonBackReference 註解。示例import java.util.*; import com.fasterxml.jackson.annotation.JsonManagedReference; import com.fasterxml.jackson.annotation.JsonBackReference; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.core.JsonProcessingException; public class ManagedReferenceBackReferenceTest { public static void main(String args[]) throws JsonProcessingException { BackReferenceBeanTest testBean = new BackReferenceBeanTest(110, "Sai Chaitanya"); ManagedReferenceBeanTest bean = new ManagedReferenceBeanTest(135, "Adithya Ram", testBean); testBean.addEmployees(bean); ObjectMapper mapper = ... 閱讀更多

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

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

1K+ 次瀏覽

JsonView 註解可用於動態地在序列化和反序列化過程中包含/排除屬性。我們需要配置 ObjectMapper 類來包含用於使用 writerWithView() 方法從 Java 物件寫入 JSON 的檢視型別。語法@Target(value={ANNOTATION_TYPE, METHOD, FIELD}) @Retention(value=RUNTIME) public @interface JsonView示例import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonView; import com.fasterxml.jackson.core.JsonProcessingException; public class JsonViewAnnotationTest { public static void main(String args[]) throws JsonProcessingException { ObjectMapper objectMapper = new ObjectMapper(); String jsonString = objectMapper.writerWithView(Views.Public.class).writeValueAsString(new Person()); String jsonStringInternal = objectMapper.writerWithView(Views.Internal.class).writeValueAsString(new Person()); System.out.println(jsonString); System.out.println(jsonStringInternal); } } ... 閱讀更多

如何在 Java 中使用排除過濾器將 Bean 轉換為 JSON 物件?

raja
更新於 2020年7月8日 11:20:06

409 次瀏覽

JsonConfig 類可用於配置序列化過程。我們可以使用 JsonConfig 的 setJsonPropertyFilter() 方法在序列化為 JSON 時設定屬性過濾器。我們需要透過重寫 PropertyFilter 介面的 apply() 方法來實現自定義 PropertyFilter 類。如果屬性將被過濾掉,則返回 true;否則返回 false。語法public void setJsonPropertyFilter(PropertyFilter jsonPropertyFilter)示例import net.sf.json.JSONObject; import net.sf.json.JsonConfig; import net.sf.json.util.PropertyFilter; public class ConvertBeanToJsonExcludeFilterTest { public static void main(String[] args) { Student student = new Student("Sai", "Chaitanya", 20, "Hyderabad"); JsonConfig jsonConfig = new JsonConfig(); jsonConfig.setJsonPropertyFilter(new CustomPropertyFilter()); ... 閱讀更多

如何在 Java 中使用 JSON-lib API 將 Bean 轉換為不帶型別提示的 XML?

raja
更新於 2020年7月8日 11:20:50

224 次瀏覽

JSON-lib 是一個 Java 庫,用於以 JSON 格式序列化和反序列化 Java Bean、對映、陣列和集合。我們可以使用 XMLSerializer 類的 setTypeHintsEnabled() 方法將 Bean 轉換為不帶型別提示的 XML,此方法設定是否可以將 JSON 型別包含為屬性。我們可以將 false 作為引數傳遞給此方法以停用 XML 中的型別提示。語法public void setTypeHintsEnabled(boolean typeHintsEnabled)示例import net.sf.json.JSONObject; import net.sf.json.xml.XMLSerializer; public class ConvertBeanToXMLNoHintsTest { public static void main(String[] args) { Employee emp = new Employee("Krishna Vamsi", 115, 30, "Java"); JSONObject jsonObj = JSONObject.fromObject(emp); ... 閱讀更多

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

raja
更新於 2020年7月8日 11:16:03

256 次瀏覽

net.sf.json.xml.XMLSerializer 類是一個用於將 JSON 轉換為 XML 的實用程式類。當將 JSONObject 例項轉換為 XML 時,此類可以新增提示以轉換回 JSON。我們可以使用 XMLSerializer 類的 write() 方法將 JSON 值寫入帶有 UTF-8 編碼的 XML 字串,它可以返回一個格式良好的 XML 文件的字串表示形式。語法public String write(JSON json)示例import net.sf.json.JSONObject; import net.sf.json.xml.XMLSerializer; public class ConvertBeanToXMLTest {    public static void main(String[] args) {       Student student = new Student("Sai", "Adithya", 25, "Pune");       JSONObject jsonObj = JSONObject.fromObject(student);       System.out.println(jsonObj.toString(3)); //JSON 格式化輸出 ... 閱讀更多

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

raja
更新於 2020年2月19日 07:46:28

446 次瀏覽

Java 陣列是一個儲存多個相同型別變數的物件,它可以儲存基本型別和物件引用,而 JSONArray 是值的排序序列。它的外部文字形式是一個用方括號括起來的字串,值之間用逗號分隔,內部形式是一個物件,具有 get() 和 opt() 方法用於透過索引訪問值,以及 element() 方法用於新增或替換值。第一步,我們可以建立一個 Object[] 陣列,並將此引數作為引數傳遞給 JSONSerializer 類的 toJSON() 方法,並將其強制轉換為獲取 JSON 陣列。我們可以在下面的示例中將 Object[] 陣列轉換為 JSONArray 示例import ... 閱讀更多

如何在 Java 中使用 JsonConfig 排除某些屬性將 Bean 轉換為 JSON 物件?

raja
更新於 2020年7月8日 09:05:50

1K+ 次瀏覽

JsonConfig 類是一個幫助配置序列化過程的實用程式類。我們可以使用 JsonConfig 類的 setExcludes() 方法將 Bean 轉換為具有少量可以排除的屬性的 JSON 物件,並將此 JSON 配置例項傳遞給 JSONObject 的 static 方法 fromObject() 的引數。語法public void setExcludes(String[] excludes)在下面的示例中,我們可以透過排除某些屬性來將 Bean 轉換為 JSON 物件。示例import net.sf.json.JSONObject; import net.sf.json.JsonConfig; public class BeanToJsonExcludeTest {    public static void main(String[] args) {       Student student = new Student("Raja", "Ramesh", 35, "Madhapur");       JsonConfig jsonConfig = new ... 閱讀更多

廣告
© . All rights reserved.