問題タブ [jackson2]
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.
java - カスタムの UnmodifiableSetMixin が Jackson 2.7 以降で失敗する
UnmodifiableSet
デフォルトのタイピングを有効にして をデシリアライズできるようにしたいと思います。これを行うために、UnmodifiableSetMixin
以下に示すように作成しました。
注: https://github.com/rwinch/jackson-unmodifiableset-mixinで、この問題を再現するためのすべてのソース コードを含む最小限のプロジェクトを見つけることができます。
次に、これを使用して空のセットを逆シリアル化しようとします。
このテストは Jackson 2.6 で成功しますが、Jackson 2.7+ を使用すると次のスタック トレースで失敗します。
Jackson 2.7+ のテストを修正するのを手伝ってくれる人はいますか (Jackson 2.8.3 でも動作するようにしたいです)。
android - Android での Jackson Converter の使用
私はこのようなjson応答を持っています
でもこうして欲しい
最初のjson応答のPOJOがあります.2番目のものは同じ会社名のアイテムを保持しています.どうすれば2番目のものに変換できますか?.
json - Jackson が oneOf を持つ json スキーマから pojo を生成する方法
この json スキーマの Java クラスは何になりますか? クラスを生成したとき、クラスには番地などのプロパティはありませんでした
java - java.lang.NoSuchMethodError Jackson Core ストリーミング API の使用
Jackson Core バージョン 2.8.3 を使用していますが、なぜ継続してエラーが発生するのjava.lang.NoSuchMethodError
ですか? 私は他の Jackson のモジュールを使用しておらず、コア (ストリーミング) API のみを使用しています。
スタックトレース
java - Java オブジェクトを RESTful サービスに渡す
を使用して、json を受け入れる Web サービスに Java オブジェクトを渡していますHttpURLConnection
。オブジェクトをjsoncom.fasterxml.jackson
文字列に変換してから出力ストリームに書き込むことを採用すると、サービスは単純なダミーPOJOに対しては正常に機能しますが、最初に送信する予定の複雑なオブジェクトを使用すると、コンソールがいっぱいになり、アプリケーションが壊れますStackOverflow のような例外や無限の混乱
com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:690) で com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:155) で
一般的な解決策は、クラスに json アノテーションを付けるようなものです。別のaccept:content-typeをWebサービスに使用するなど(注釈付きオブジェクトが必要なため、jsonまたはxml以外)、それを回避する他の方法はありますか?
serialization - spring-data-rest と @RestController クラスに単一の objectMapper を記述する方法
エンティティ用に UnwrappingBeanSerializer を作成しました。現在、このシリアライザーはConfigureJacksonObjectMapperを使用して登録されていました
このシリアライザーは、spring-data-rest から生成された REST API に対して正常に動作します。しかし、同じエンティティのカスタム@RestController
がありますが、spring-data-rest 構成に登録されているシリアライザーについては知りません。
UnwrappingBeanSerializer
spring-data-rest API とカスタム コントローラーの両方で応答をシリアル化したい。
これを達成する方法は?
@JsonSerialize
エンティティクラスでも試しました。しかし、私は Bean を作成できませunWrappingBeanSerializer
んBeanSerializerBase
java - Jackson 、 java.time 、 ISO 8601 、ミリ秒なしでシリアル化
Jackson 2.8 を使用しており、ISO 8601 タイムスタンプ内でミリ秒を許可しない API と通信する必要があります。
予想される形式は次のとおりです。"2016-12-24T00:00:00Z"
Jackson の JavaTimeModule を にWRITE_DATES_AS_TIMESTAMPS
設定して使用していfalse
ます。
しかし、これはミリ秒を出力します。
だから私はobjectMapper.setDateFormat
何も変わらなかったものを使用しようとしました。
私の現在の回避策はこれです:
動作するデフォルトのシリアライザーをオーバーライドしていますInstant.class
。
これを解決するためにいくつかの構成パラメーターを使用する良い方法はありますか?
spring - Jackson configuration to consume list of records in rabbitmq
I am using spring boot amqp in which I will be consuming a list of Employee objects from a queue. My listener method looks like this:
However, when I try to consume the message, I get a class cast exception: For some reason, I'm getting a LinkedHashMap.
If I change my listener method to consume a single employee object, it works fine and I'm using the following jackson configurations for it:
Is there some other jackson configuration that I need to do to consume the list of employee objects?
Thanks a lot!
Sample Input Json message which I will be consuming:
java - Jackson JsonNode シリアライゼーション
Java 8 関数でAWS Lambdaを使用しています。Lambda には Jackson Serializer が組み込まれているため、メソッドがオブジェクトを返すと、JSON 表現にシリアル化されます。
次のプロパティで構成されるオブジェクトがあります。
簡単にするために、クラスの残りの部分はすべて省略しましたが、ゲッター/セッターなどがあります。
通常、これをネイティブ アプリケーションで実行すると、完全に機能します。ツリー構造はJsonNode
JSON としてレンダリングされます。例えば:
ただし、Lambda でこれを実行すると、不明な理由で、実際の JsonNode オブジェクト自体 (ツリーではなくラッパー オブジェクト) がシリアル化されます。だから私は代わりにこれを取得しています:
なぜこれが起こっているのか、解決策/回避策についての提案はありますか?
アップデート:
model
とfield
は動的で実行時に提供されるため、特に JsonNode を使用しています。そのため、事前に構造を知ることはありません。