


Jackson を使用した Java で @JsonManagingReference および @JsonBackReference アノテーションを使用する場合は?
@JsonManagingReference および @JsonBackReference アノテーション を使用して、 に JSON 構造を作成できます。 > 双方向。 @JsonManagingReference アノテーションはシリアル化中に含まれる 前方参照であり、@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" } }
以上がJackson を使用した Java で @JsonManagingReference および @JsonBackReference アノテーションを使用する場合は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









AJackson は、JSON を処理するためのいくつかの異なる方法を提供する Java JSON API です。 CsvMapper クラスを使用して、CSV データを JSON データに変換できます。これは、POJO を CsvSchema インスタンスに変換する拡張機能を備えた特別な ObjectMapper です。 Reader() メソッドを使用して、デフォルト設定で ObjectReader を構築できます。変換するには、com.fasterxml.jac をインポートする必要があります

Jackson は、Java オブジェクトから JSON へ、および JSON から Java オブジェクトへの変換に役立つ Java ベースのライブラリです。 JacksonAPI は他の API よりも高速で、必要なメモリ領域が少なく、大きなオブジェクトに適しています。 XmlMapper クラスの writeValueAsString() メソッドを使用して POJO を XML 形式に変換します。対応する POJO インスタンスをパラメーターとしてこのメソッドに渡す必要があります。構文 publicStringwriteValueAsString(Objectvalue)throwsJsonProcessingExceptionExampleimp

[脆弱性通知] NVD は 2 月 19 日、JNDI インジェクションによって引き起こされる jackson-databind のリモート コード実行の脆弱性 (CVE-2020-8840) を公開するセキュリティ通知を発行しました (CVSS スコアは 9.8)。影響を受けるバージョンの jackson-databind には、org.apache.xbean.propertyeditor.JndiConverter などの特定の xbean-reflect/JNDI ブラックリスト クラスが欠落しているため、攻撃者が JNDI インジェクションを使用してリモート コードを実行する可能性があります。現在、メーカーは脆弱性の修復を完了した新バージョンをリリースしていますので、該当するユーザーは保護のために間に合うようにアップグレードするようお願いします。プロジェクトで使用されている S 以来

JSONJackson は Java 用のライブラリです。非常に強力なデータ バインディング機能があり、カスタム Java オブジェクトを JSON にシリアル化し、JSON を Java オブジェクトに逆シリアル化するためのフレームワークを提供します。また、XmlMapper の readValue() メソッドを使用して XML 形式を POJO オブジェクトに変換することもできます。

JSONObject は文字列内のテキストを解析して Map タイプのオブジェクトを生成できます。列挙型は定数のコレクションを定義するために使用でき、ある種の数値データやテキスト データを表さない事前定義された値のリストが必要な場合に列挙型を使用できます。 ObjectMapper クラスの readValue() メソッドを使用して、JSON オブジェクトを列挙に変換できます。以下の例では、Jackson ライブラリを使用して、JSON オブジェクトを Java 列挙型に変換/逆シリアル化できます。例 importcom.fasterxml.jackson.databind.*;publicclassJSONToEnumTest{&

すべての JSON パーサーのデフォルト設定は、JsonParser.Feature 列挙体を使用して表すことができます。 JsonParser.Feature.values() は、JSONParser で利用可能なすべての機能を返しますが、特定のパーサーに対して機能が有効か無効かは、JsonParser の isEnabled() メソッドを使用して判断できます。構文 publicstaticenumJsonParser.FeatureextendsEnum<JsonParser.Feature> 例 importcom.fas

@ConstructorProperties アノテーションは java.bean パッケージから取得され、アノテーション付きコンストラクターを通じて JSON を Java オブジェクトに逆シリアル化するために使用されます。このアノテーションは、Jackson 2.7 以降でサポートされています。この注釈が機能する方法は非常に簡単です。コンストラクター内の各パラメーターに注釈を付ける代わりに、各コンストラクター パラメーターのプロパティ名を含む配列を提供できます。構文@Documented@Target(value=CONSTRUCTOR)@Retention(value=RUNTIME)public@interfaceConstructorPropertiesExample impo

1. 背景:プロジェクト内の一部の機密情報(顧客の携帯電話番号、ID カード、ナンバープレート番号など)は直接表示できないため、顧客のプライバシーの漏洩を防ぐために、表示する際にデータの機密情報を解除する必要があります。非感作とは、データの一部を非感作シンボル (*) で処理することです。 2. ターゲットがサーバーからデータを返すとき、Jackson シリアル化を使用してデータの非感作を完了し、機密情報の非感作表示を実現します。繰り返しの開発量を削減し、開発効率を向上させて、統合された効果的な非感作ルールを形成します。これは、デフォルトの非感作実装を書き換える非感作手法に基づいて、スケーラブルでカスタマイズ可能なパーソナライズされたビジネス シナリオの非感作要件を実現できます。 3. 主な実装 3.1 Jackson Custom の感度を下げた StdSerializer のシリアル化実装に基づく: すべて標準
