[解決済み] デフォルト構成のようなCreatorが存在しない):Objectの値からデシリアライズできない(デリゲートまたはプロパティベースのCreatorが存在しない
2022-04-21 10:08:35
質問
RetrofitとJacksonを使用してAPIを消費し、デシリアライズしようとしています。次のような onFailure エラーが発生します。
No Creators, like default construct, exist): cannot deserialize from Object value (no delegate- or property-based Creator
.
解決方法は?
理由を教えてください。
このエラーは、空のコンストラクタを持たないモデルを作成する方法を jackson ライブラリが知らないため、また、パラメータを持つコンストラクタを含むモデルで、そのパラメータにアノテーションを付けていないため発生します。
@JsonProperty("field_name")
. Java コンパイラは、クラスにコンストラクタを追加しなかった場合、デフォルトで空のコンストラクタを作成します。
解決策
モデルに空のコンストラクタを追加するか、コンストラクタのパラメータに
@JsonProperty("field_name")
Kotlin のデータクラスを使用する場合、アノテーションを使用することもできます。
@JsonProperty("field_name")
または
JACKSON モジュール KOTLIN
から
ObjectMapper
.
モデルを作成するには http://www.jsonschema2pojo.org/ .
関連
-
[解決済み] JsonMappingException: No suitable constructor found for type [simple type, class ]: can't instantiate from JSON object.
-
aapt2エラー:ログを確認する(具体的な原因の探り方)
-
android E/RecyclerView﹕ アダプタが接続されていないため、レイアウトをスキップする。
-
ArrayAdapter は、リソース ID が TextView であることが必要です。
-
アンドロイドスタジオでJunitのエラー問題を解決する
-
Error:A problem occurred configuring project ':app'. > ビルドを見つけられませんでした。
-
Android ProgressBarの色を変更する
-
Android ProgressBarのスタイルカラーを変更する
-
Android基本アプレット
-
[解決済み】Android Studioです。jarをライブラリとして追加しますか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
android studioが "The activity must be exported or contain an intent-filter" と表示され実行される。
-
android block certificate validation CertPathValidatorException: 認証パスのトラストアンカーが見つかりません
-
エラー:未宣言の識別子(AS)の使用
-
エラータイプ 3 タイプエラー, Error: アクティビティクラス{}が存在しません。アクティビティ起動時のエラー 解決方法
-
Windowsのadbシェルでデータディレクトリにアクセスするとパーミッションが拒否される
-
Android Bluetooth 開発の基本プロセス
-
超シンプルなアンドロイドのタイムディレイ機能
-
アンドロイドの遅延実行のいくつかの方法
-
Android Studio常见错误之:Rendering Problems/The following classes could not be instantiated
-
Android TextViewは、テキスト内容が表示省略記号を超えているかどうかを判断する