[解決済み] コンストラクタに @JsonCreator のアノテーションを付けると、その引数に @JsonProperty のアノテーションを付けなければならないのはなぜですか?
2022-06-20 10:12:09
質問
Jackson では、コンストラクターにアノテーションを付ける際に
@JsonCreator
でアノテートする場合、その引数を
@JsonProperty
. ですから、このコンストラクタ
public Point(double x, double y) {
this.x = x;
this.y = y;
}
はこうなる。
@JsonCreator
public Point(@JsonProperty("x") double x, @JsonProperty("y") double y) {
this.x = x;
this.y = y;
}
なぜそれが必要なのか理解できません。説明していただけませんか?
どのように解決するのですか?
ジャクソンは、JSON オブジェクトからコンストラクターにどのような順序でフィールドを渡すかを知っておく必要があります。 Java ではリフレクションを使用してパラメータ名にアクセスすることはできません。そのため、アノテーションでこの情報を繰り返す必要があるのです。
関連
-
Java のエラーです。未解決のコンパイル問題 解決方法
-
javaで非静的な解を静的な参照にすることができない
-
スレッド "main" での例外 java.lang.ArrayIndexOutOfBoundsException: 1
-
Java コンパイルエラー - スレッド "main" で例外 java.lang.Error: 未解決のコンパイル問題です。
-
自動配線された依存性のインジェクションに失敗しました。
-
[オリジナル】java学習ノート【II】よくあるエラー クラスパス上のクラスファイルが見つからない、またはアクセスできない場合
-
JSPで「リストが型解決できない!」の解決方法
-
[解決済み] Eclipseにプロジェクトをインポートした後に「Must Override a Superclass Method」エラーが発生する。
-
[解決済み] System.gc()を呼び出すのはなぜ悪い習慣なのですか?
-
[解決済み】Javaの「ダブルブレース初期化」の効率化?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
スタイルが読み込まれず、ブラウザコンソールでエラーが報告される。リソースはスタイルシートとして解釈されますが、MIMEタイプtext/htmlで転送されます。
-
スタイルが読み込まれず、ブラウザのコンソールでエラーが報告される。リソースはスタイルシートとして解釈されますが、MIMEタイプtext/htmlで転送されます。
-
javaの実行中に「javaの例外が発生しました」と表示された場合はどうすればよいですか?
-
this()の呼び出しはコンストラクタ本体の最初の文でなければならない 例外解決と原因分析
-
JQuery DataTable 详解
-
サーブレットクラスのインスタンス化エラーの解決法
-
スレッド "main" での例外 java.lang.ArrayIndexOutOfBoundsException: 1
-
アイデア Springboot Web プロジェクトを jar にパッケージ化する場合、Error: 無効または破損した jarfile x.jar 解決策
-
あるコードに出会いましたが、何に使うのか理解できません。 List<String> list = new ArrayList<String>() { { a
-
ブラウザでの大容量ファイルスライスアップロード(Javaサーバサイド実装)