問題タブ [jackson-databind]

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 投票する
3 に答える
9438 参照

java - Jackson mixin をプライベート フィールドで動作させるにはどうすればよいですか?

私は Jackson 2.0 mixin を使って、注釈なしでクラスをシリアライズしようとしていました。

以下、簡略化したソースコード。私はゲッター/セッターを使用していないことに注意してください

main を実行すると、

例外の指示に従って行を追加すると

例外は発生しなくなりましたが、結果は空の JSON オブジェクト{}.

フィールドをパブリックにすればうまくいきますが、それは合理的なオブジェクト設計ではないので、私がやりたいことではありません。

基本的な「setThis」ステップをどこかで省略していると思いますが、何がわかりません。この状況でミックスインを機能させるにはどうすればよいですか?

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

java - 文字列ではなく、int に基づく Jackson のポリモーフィック デシリアライゼーション

通常、Jackson でポリモーフィック デシリアライゼーションを行う場合、クラスにマップする文字列フィールドがあり、このように行うことができます。

値が文字列ではなく整数の場合、これを行う方法の簡単な例が見つかりません。たとえば、JSON に "methodName":"firstClassName" の代わりに "methodName":1 が含まれている場合、デシリアライズするクラスをどのように選択すればよいでしょうか?

0 投票する
3 に答える
33152 参照

java - UnrecognizedPropertyException: ソースで無視できるとマークされていない認識されないフィールド: org.apache.catalina.connector.CoyoteInputStream@14ec141

私のコードは次のとおりです。

しかし、このJsonで呼び出すと:

次の例外が発生します。

javax.servlet.ServletException: org.codehaus.jackson.map.exc.UnrecognizedPropertyException: 認識されないフィールド "userId" (クラス com.tazligen.model.GroupMemberMap)、[ソース: org.apache.catalina.connector. CoyoteInputStream@14ec141; 行: 2、列: 15] (参照チェーン経由: com.tazligen.model.GroupMemberMap["userId"])

私のGrouMemberMapモデルクラスは次のとおりです。

私はこのような別の方法を試しました:

jsonで

しかし、これは問題なく動作します:/

誰かの助けが必要です。

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

java - Jackson: ネストされた json オブジェクトを JSONObject として保存する

この質問はLinkの複製です。コードは次のように使用されます。

しかしsettings、リンクに示されているように、値は次のようになり{}ます。この問題を解決するには?ネストされたオブジェクトを JSONObject として使用したい。

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

java - Jackson を使用して JSON 要素を Java フィールドにバインドする

以下のようにJSONフィールドをPOJOのJavaフィールドにマップすることは可能ですか-私のJSONはこのようなものです-

以下のPOJOでフィールド「タイプ」をマッピングします-

着信 JSON に従って POJO を記述したくはありませんが、修飾名を使用して要素をバインドしたいと考えています。私はそれをグーグルで検索しましたが、解決策が見つかりませんでした。

どのライブラリでも使用できますか?

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

java - Jackson でカスタム Map をデシリアライズする

現在、Jackson 2.8.4 を使用してカスタム Map タイプを JSON としてシリアライズおよびデシリアライズしようとしています。この回答に基づいてシリアル化を機能させることができましたが、逆シリアル化に苦労しています。次に例を示します。

上記のように逆シリアル化しようとすると、例外が発生します。

そのため、Jackson はまだ私のクラスを genericMapであるかのようにデシリアライズしようとしていますが、これは Bean であるため機能しません。私も追加しようとしまし@JsonDeserialize(as = TestMapGetters.class)たが、次のようになります:

サブタイプではないため、これは理にかなっています。オブジェクトがMap. 私のクラスが であるという事実を無視してMap、Bean として逆シリアル化するように Jackson に指示する方法はありますか?

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

java - Jackson 後方参照を最初に解決するように強制する

次のような JSON オブジェクト ツリーがあります。

Java では、親クラスには でマークされた子のリストが@JsonManagedReferenceあり、子クラスには対応する があり@JsonBackReferenceます。私の問題は、valueプロパティのセッター メソッドが親に依存することです。悲しいことに、すべての実験で後方参照が最後に解決されるため、値が設定されたときに子オブジェクトの親フィールドはまだ null です。この逆シリアル化の順序を変更する方法はありますか? または、不要なフィールドを導入することなく、これをエレガントに解決する別の方法があります。

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

json - apache sling と neba 環境でスプリング コントローラーから json データを返す方法

Apache slingとともにNeba ライブラリを使用しています。

これで、私のスプリング コントローラーはこのコードで正常に動作します。

URL http://localhost:8080/bin/mvc.do/category/list にアクセスした後

「 Hello World!」という応答が返ってきます。

しかし、私がこのようにリスト文字列を返そうとしているとき -

次の例外が発生しています-

私のライブラリにはジャクソンのデータバインドがあります

libにこれらのライブラリがあるbundle jarも確認しました。なぜそれが機能しないのかはまだわかりません。どんな助けも非常に高く評価されています。