問題タブ [jackson-modules]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2991 参照

java - jackson-dataformat-xml で xml ではなく json のフィールドのみを無視する

モジュールを使用Jacksonすると、と の両方にシリアル化できます。私のオブジェクトには、シリアル化するだけでシリアル化する必要がないいくつかのフィールド (xml 属性)があります。アノテーションを適用すると、フィールドは であっても完全に無視されます。jackson-dataformat-xmlPOJOJSONXMLXMLJSON@JsonIgnore@JsonXMLProperty

のフィールドのみを無視するにはどうすればよいJSONですXMLか?

0 投票する
1 に答える
239 参照

json - d3js 国 JSON での Jackson ObjectMapper 変換の問題

Jackson APIを使用して、Github からこのJSONリストをデシリアライズしたいと考えています。

配列内で配列の使用を開始すると、例外が発生します。このマッピングを学ぶのに、どのような体でも助けることができますか。

Java コード : ポジョ

クラスもテスト

0 投票する
2 に答える
2926 参照

json - Jackson ObjectMapper からモジュールを登録解除する方法はありますか?

に登録KeyDeseriliserしていObjectMapperます。読んだ後JSON、このモジュールの登録を解除したいと思います。myObjectMapperは静的であり、このモジュールを他の場所で使用したくないためです。

0 投票する
0 に答える
2922 参照

hibernate - Jackson は、遅延ロードされたオブジェクトをシリアライズしようとし、「 org.hibernate.LazyInitializationException - 遅延初期化に失敗しました ...」をスローします。

私の環境

  • ジャクソン-データ型-休止状態 2.3.2
  • Spring-webmvc 3.2.6
  • 休止状態 4.3.4

したがって、基本的に私のアプリケーションは、シリアル化された企業のリストを返すことになっています。コーポレーション クラスには、遅延読み込み (マッピングで定義された lazy='true') である一連の旅行者オブジェクトがあります。したがって、それらはシリアライズされるべきではありません。ただし、jackson がコントローラーから企業をシリアル化するとき、何らかの理由で、Traveller もシリアル化しようとしますが、クラッシュして次のエラーをスローします: org.hibernate.LazyInitializationException - failed to lazily initialize a collection of role: com.model. core.Corporation.employees

この問題をグーグルで検索し、いくつかの投稿で見ましたが、今のところ修正できていません。https://github.com/FasterXML/jackson-datatype-hibernate/issues/25

私のコードは基本的に、hbm.xml マッピングを持つ Java "Corporation" クラスで構成されています。また、ObjectMapper を拡張し、その投稿で説明されているように、それを Spring メッセージ コンバーターに設定しました (フェッチされていない遅延オブジェクトでのジャクソンのシリアル化を回避します)。次に、「CorporationMixin」クラスを作成し、@JsonIdentityInfo で注釈を付けました。最後に、コントローラーから企業のリストを返すだけです。

私のコードを見て、ヒントを教えてください。問題が私の実装なのか、jackson-datatype-hibernate ライブラリのバグなのかわかりません。

hbm のマッピング:

「法人」エンティティ:

servlet-context.xml に追加されたマッパー:

HibernateAwareObjectMapper クラス:

CorporationMixin クラス:

シリアル化された企業を返すコントローラー クラス:

基本的にこれをweb.xmlに追加する休止状態のクラッシュを回避するための回避策があります

しかし、それで最初の問題が実際に解決されるわけではありません。

ご協力いただきありがとうございます!

0 投票する
2 に答える
4453 参照

jersey - 複数の構成された ObjectMappers を使用して Jersey で Jackson を使用する

複数の設定を使用したシリアライゼーション/デシリアライゼーションのためにJacksonを使用してJerseyをセットアップすることは可能ObjectMappersですか?

私ができるようにしたいのは、「デフォルト」のジャクソンを登録してから、特定の状況下で「デフォルト」を「オーバーライド」する特殊な構成をObjectMapper提供する別の機能を登録する機能です。ObjectMapperObjectMapper

たとえば、これContextResolverは「デフォルト」マッパーの場合です。

そして、これContextResolverは「デフォルト」マッパーをオーバーライドすることです:

JacksonJsonProviderJackson がObjectMapperプロバイダーの注入/解決をサポートしているコードが表示されます。ただし、実際には、プロバイダーの「順序」がランダムに見えます (そうではないと思いますが、順序を制御する方法を整理することはできません)。「オーバーライド」が「デフォルト」の前に来て、すべてが機能する場合がありますが、次のサーバーの起動時に順序が変更されます。

私はこれを次のようなさまざまな方法で機能させようとしました。

  • 実装を手動で登録するContextResolver<ObjectMapper>(異なる順序で)
  • アノテーションContextResolver<ObjectMapper>による実装の登録@Provider
  • 登録時の優先度指定

私は以下を使用しています:

  • ジャージー 2.8
  • ジャクソン 2.3.3

おそらく私は完全に間違ったアプローチを取っていますか?
私がやろうとしていることを達成するためのより良い方法はありますか? 2 つの別個の JAX-RS アプリケーションを定義し、それぞれに 1 つの ObjectMapper 構成を設定するだけでよいでしょうか?

0 投票する
1 に答える
1173 参照

json - Jackson を使用して JSON オブジェクトから外部キーを解決する方法

Dropwizard (Jackson と Hibernate を使用) を使用したブック ライブラリ システムには、次のクラスがあります。

本を追加するには、本のタイトルと著者の ID を json オブジェクトとして送信する必要があります。

ただし、Jackson は指定された作成者 ID から作成者を取得できないようです。

次のような一時オブジェクトを作成せずに、リクエストの JSON から book オブジェクトへ、および authorId から著者へのマッピングを構成する方法はありますか

0 投票する
1 に答える
152 参照

java - ジャクソン・ジェイソン連載

Jackson 2.4 を使用しており、d3.js で処理するデータを生成する必要があります。

d3.js は、json の値を次のような形式にする必要があります。

私のJavaモデルには次のものがあります:

これはシリアライゼーション専用であり、デシリアライゼーション用ではないため、Jackson アノテーションを使用して json を必要に応じて生成する方法はありますか?

ありがとう、

0 投票する
0 に答える
586 参照

java - Java Jackson: ジェネリック型を逆シリアル化する

TrainingData以下に示すように、クラスを逆シリアル化しようとしています。TrainingDatagnerics を使用し、その属性の 1 つがそのスーパー クラスで宣言されています。JSON 文字列を逆シリアル化してTrainingDataオブジェクトを作成しようとすると、次の例外が発生します。

次の JSON 文字列を使用してオブジェクトを作成します。

TrainingData.java

Data.java:

}

PlayMusicContext.java

Context.java:

私は何が欠けていますか?

0 投票する
1 に答える
164 参照

fasterxml - JAXB クラス - XML が期待どおりに作成されない

私は、fasterxml-jaxb(2.3) モジュールを使用して XML を生成していますが、XML の作成中に Xmlns アノテーションを読み取っていないようです。以下のように、パッケージ情報で定義されたプレフィックスを持っています

Jackson は接頭辞を適用しませんが、ユーザーがマーシャリングに JDK の JAXB を使用している場合、接頭辞は XML に適用されます