すべてのargsコンストラクタとBuilderのみを持つ値クラス(final、setterなし)を逆シリアル化することは可能ですか? JsonDeserialize
とJsonPOJOBuilder
を使用することはできません。クライアントライブラリで定義されたモデルを逆シリアル化しようとしているため、注釈を追加できません。別の方法でビルダーを指定することはできますか?Jackson - 注釈なしでBuilderを使用して非直列化
0
A
答えて
1
MixInを試すことができます。
私はあなたのユースケースのための一つのサンプルを作成しました:
オリジナルクラス:
@JsonAutoDetect(fieldVisibility = Visibility.ANY, getterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE)
abstract class SampleMixin {
@JsonCreator
public SampleMixin(@JsonProperty("id") int id) {
}
}
Deserilaization:
final class Sample {
final int id;
Sample(int id) {
this.id = id;
}
}
ミックスインは(同じ引数を持つ非引数コンストラクタを提供します)
ObjectMapper mapper = new ObjectMapper();
mapper.addMixIn(Sample.class, SampleMixin.class);
Sample sample = mapper.readValue(json, Sample.class);
+0
私は実際にそれをさらに進め、 '' @JsonDeserialize(builder = ..) ''をミックスインし、それは働いた!そうすれば、すべてのフィールドをマップする必要はありません。ありがとう! – gta0004
関連する問題
- 1. Jackson注釈を使用してHttpResponseからJSONオブジェクトをどのように非直列化しますか?
- 2. ジャクソン注釈を使用して多レベル多型サブタイプを非直列化する
- 3. Jackson ObjectNode:直列化でNULLを使用しない方法
- 4. Jacksonを使用してStringからArrayListを非直列化する
- 5. ジャクソン注釈を使用してJavaクラスに大量のプロパティを持つjsonを非直列化する
- 6. 注釈を使用しないでJackson JSONプロセッサを使用する
- 7. Jacksonはマップとして余分なフィールドを非直列化します
- 8. 新しいFirebaseでJackson注釈を使用する方法
- 9. DynamoDB注釈JSONと混合型リストのドキュメントを非直列化しますか?
- 10. jackson:カスタム例外を非直列化します
- 11. ENUMとしてjackson JsonTypeInfoプロパティを使用して動的jsonを非直列化しますか?
- 12. Jackson ObjectMapperは注釈なしでJsonFormat.Shape.ARRAYを設定します
- 13. ServiceStack.Textを使用してCustomHeadersでCSVを非直列化する
- 14. 例外はjacksonからMixInクラスを使用してJSONをJAX-Bオブジェクトに非直列化します
- 15. hibernateとjacksonで遅延ロードを非直列化する
- 16. jacksonとjax-rs注釈
- 17. JACKSONマッピングXML設定なし注釈なし
- 18. Java - Jackson適切なコンストラクタを処理しない注釈
- 19. Newtonsoft.Jsonを使用してJSON応答を非直列化する
- 20. 注釈座標を使用して注釈を削除する
- 21. Spring Boot RabbitMQ Receiver Jackson POJOに非直列化
- 22. jacksonデシリアライザ - モデルフィールドの注釈リストを取得
- 23. jackson-dataformat-xmlカスタムルート要素を使用したXMLの直列化復元?
- 24. spring/json/jacksonを経由してjoda-time LocalDateに非直列化したい文字列: "2012年2月14日"
- 25. カスタム値のシリアル化のためのJacksonカスタム注釈
- 26. xmlを非直列化してオブジェクトを抽出しない
- 27. Jackson Jsonの逆直列化ビュー
- 28. JSON.netを使用してオブジェクトに内部配列を非直列化する
- 29. Jackson ObjectMapperは注釈のないすべてのプロパティを無視します
- 30. Json.netを使用してC#で複合Jsonを非直列化する
ただ実行するnt独自の 'JsonDeserializer' – rkosegi
@rkosegi基本的にすべてのフィールド名を列挙してビルダーを手動で呼び出さなければ簡単な方法はないでしょうか? – gta0004
デシリアライズする必要があるオブジェクトは複数ありますか? – rkosegi