目錄
範例
輸出
首頁 Java java教程 何時在Java中使用@JsonManagedReference和@JsonBackReference註解使用Jackson?

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

Sep 05, 2023 pm 10:33 PM
jackson @jsonmanagedreference @jsonbackreference

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

@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 = new ObjectMapper();
      String jsonString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(bean);
      System.out.println(jsonString);
   }
}
class ManagedReferenceBeanTest {
   public int empId = 115;
   public String empName = "Raja Ramesh";
   @JsonManagedReference
   public BackReferenceBeanTest manager;
   public ManagedReferenceBeanTest(int empId, String empName, BackReferenceBeanTest manager) {
      this.empId = empId;
      this.empName = empName;
      this.manager = manager;
   }
}
class BackReferenceBeanTest {
   public int empId = 125;
   public String empName = "Jai Dev";
   @JsonBackReference
   public List<ManagedReferenceBeanTest> list;
   public BackReferenceBeanTest(int empId, String empName) {
      this.empId = empId;
      this.empName = empName;
      list = new ArrayList<ManagedReferenceBeanTest>();
   }
   public void addEmployees(ManagedReferenceBeanTest managedReferenceBeanTest) {
      list.add(managedReferenceBeanTest);
   }
}
登入後複製

輸出

{
   "empId" : 135,
   "empName" : "Adithya Ram",
   "manager" : {
      "empId" : 110,
      "empName" : "Sai Chaitanya"
   }
}
登入後複製

以上是何時在Java中使用@JsonManagedReference和@JsonBackReference註解使用Jackson?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

在Java中使用Jackson函式庫將CSV轉換為JSON? 在Java中使用Jackson函式庫將CSV轉換為JSON? Aug 18, 2023 pm 11:49 PM

AJackson 是一個提供了多種不同方式來處理JSON的Java JSONAPI。我們可以使用CsvMapper 類別將CSV資料轉換為JSON數據,它是一個特殊的ObjectMapper,具有擴展功能,可以將POJOs轉換為CsvSchema 實例。我們可以使用 reader() 方法來建構具有預設設定的ObjectReader。為了進行轉換,我們需要導入com.fasterxml.jac

在Java中使用Jackson函式庫將POJO轉換為XML? 在Java中使用Jackson函式庫將POJO轉換為XML? Sep 18, 2023 pm 02:21 PM

Jackson是一個基於Java的函式庫,它對於將Java物件轉換為JSON以及將JSON轉換為Java物件非常有用。 JacksonAPI比其他API更快,需要更少的記憶體區域,並且適合大型物件。我們使用XmlMapper類別的writeValueAsString()方法將POJO轉換為XML格式,並且需要將對應的POJO實例作為參數傳遞給此方法。語法publicStringwriteValueAsString(Objectvalue)throwsJsonProcessingException範例imp

SpringBoot升級指定jackson版本的問題怎麼解決 SpringBoot升級指定jackson版本的問題怎麼解決 May 12, 2023 pm 02:13 PM

【漏洞通告】2月19日,NVD發布安全通告揭露了jackson-databind由JNDI注入導致的遠端程式碼執行漏洞(CVE-2020-8840),CVSS評分為9.8。受影響版本的jackson-databind中由於缺少某些xbean-reflect/JNDI黑名單類,如org.apache.xbean.propertyeditor.JndiConverter,可導致攻擊者使用JNDI注入的方式實現遠端程式碼執行。目前廠商已發布新版本完成漏洞修復,請相關用戶及時升級進行防護。由於專案中用到的S

在Java中使用Jackson函式庫將XML轉換為POJO? 在Java中使用Jackson函式庫將XML轉換為POJO? Aug 30, 2023 am 10:21 AM

JSONJackson 是Java 函式庫。它具有非常強大的資料綁定功能,並提供了一個框架來將自訂Java 物件序列化為JSON 並將JSON 反序列化回Java 物件。我們也可以使用XmlMapper 的readValue() 方法將XML 格式轉換為POJO 對象

如何使用Jackson在Java中將JSON物件轉換為枚舉類型? 如何使用Jackson在Java中將JSON物件轉換為枚舉類型? Sep 05, 2023 pm 12:13 PM

JSONObject可以解析字串中的文字以產生Map類型的物件。枚舉可用於定義常數集合,當我們需要一個不代表某種數字或文字資料的預定義值清單時,我們可以使用枚舉。我們可以使用ObjectMapper類別的readValue()方法將JSON物件轉換為枚舉。在下面的範例中,我們可以使用Jackson函式庫將JSON物件轉換/反序列化為Java枚舉。範例importcom.fasterxml.jackson.databind.*;publicclassJSONToEnumTest{ &

如何在Java中使用Jackson取得JSONParser的預設值? 如何在Java中使用Jackson取得JSONParser的預設值? Sep 12, 2023 am 11:57 AM

所有JSON 解析器的預設設定都可以使用JsonParser.Feature枚舉來表示。 JsonParser.Feature.values()將傳回所有可用於JSONParser 的功能,但是特定解析器是否啟用或停用某個功能可以使用JsonParser的isEnabled()方法來確定。語法publicstaticenumJsonParser.FeatureextendsEnum<JsonParser.Feature>範例importcom.fas

在Java中使用Jackson時何時使用@ConstructorProperties註解? 在Java中使用Jackson時何時使用@ConstructorProperties註解? Aug 27, 2023 pm 08:53 PM

@ConstructorProperties註解來自java.bean套件,用於透過帶有註解的建構函數將JSON反序列化為java物件。此註解從Jackson2.7版本開始支援。此註解的工作方式非常簡單,我們可以提供一個包含每個建構函式參數的屬性名稱的數組,而不是註解建構函式中的每個參數。語法@Documented@Target(value=CONSTRUCTOR)@Retention(value=RUNTIME)public@interfaceConstructorProperties範例impo

Java怎麼用Jackson序列化實現資料脫敏 Java怎麼用Jackson序列化實現資料脫敏 Apr 18, 2023 am 09:46 AM

1.背景在專案中有些敏感資訊不能直接展示,例如客戶手機號碼、身分證、車牌號碼等信息,展示時均需要進行資料脫敏,防止洩露客戶隱私。脫敏即是對資料的部分資訊用脫敏符號(*)處理。 2.目標在服務端回傳資料時,利用Jackson序列化完成資料脫敏,達到對敏感資訊脫敏展示。降低重複開發量,提升開發效率形成統一有效的脫敏規則可基於重寫預設脫敏實現的desensitize方法,實現可擴展、可自訂的個性化業務場景的脫敏需求3.主要實現3.1基於Jackson的自訂脫敏序列化實作StdSerializer:所有標

See all articles