[解決済み] JSON: NULL値を持つオブジェクトをデシリアライズしようとするとJsonMappingExceptionが発生する
2022-03-03 14:36:04
質問
ヌルプロパティを含むオブジェクトをデシリアライズしようとすると
JsonMappingException
.
私の仕事
String actual = "{\"@class\" : \"PersonResponse\"," +
" \"id\" : \"PersonResponse\"," +
" \"result\" : \"Ok\"," +
" \"message\" : \"Send new person object to the client\"," +
" \"person\" : {" +
" \"id\" : 51," +
" \"firstName\" : null}}";
ObjectMapper mapper = new ObjectMapper();
mapper.readValue(new StringReader(json), PersonResponse.class); //EXCEPTION!
しかし
捨てるなら
"firstName = null"
プロパティを使用すると、すべて正常に動作します。
次の文字列を渡すという意味です。
String test = "{\"@class\" : \"PersonResponse\"," +
" \"id\" : \"PersonResponse\"," +
" \"result\" : \"Ok\"," +
" \"message\" : \"Send new person object to the client\"," +
" \"person\" : {" +
" \"id\" : 51}}";
ObjectMapper mapper = new ObjectMapper();
mapper.readValue(new StringReader(json), PersonResponse.class); //ALL WORKS FINE!
質問 : この例外を回避する方法、またはシリアライゼーション時にJacksonがNULL値を無視するように誓約する方法は?
をスローします。
メッセージ
com.fasterxml.jackson.databind.MessageJsonException:
com.fasterxml.jackson.databind.JsonMappingException:
N/A (through reference chain: person.Create["person"]->Person["firstName"])
の原因となります。
com.fasterxml.jackson.databind.MessageJsonException:
com.fasterxml.jackson.databind.JsonMappingException:
N/A (through reference chain: prson.Create["person"]->Person["firstName"])
の原因となります。
java.lang.NullPointerException
解決方法は?
をシリアライズしない場合
null
の値を使用する場合は、以下の設定(シリアライズ時)で使用できます。
objectMapper.setSerializationInclusion(Include.NON_NULL);
これで問題が解決することを願っています。
しかし
NullPointerException
を処理することができるのが理想的です。
null
の値がシリアライズされた出力に含まれます)。に対応するコードを投稿していただけませんか?
PersonResponse
クラスを作成できますか?
関連
-
[解決済み】Eclipseがエラーメッセージ "Java was started but returned exit code = 1" を返す
-
[解決済み] JsonMappingException: No suitable constructor found for type [simple type, class ]: can't instantiate from JSON object.
-
[解決済み] なぜGoogleはJSONレスポンスにwhile(1);を前置するのでしょうか?
-
[解決済み] cURLでJSONデータをPOSTするにはどうすればよいですか?
-
[解決済み] jQueryでフォームデータをJavaScriptオブジェクトに変換する
-
[解決済み] JSON文字列を安全にオブジェクトに変換する
-
[解決済み] JSオブジェクトをJSON文字列に変換する
-
[解決済み] JSONをC#のダイナミックオブジェクトにデシリアライズする?
-
[解決済み】Jackson JSONマッパーでjava 8 java.timeをシリアライズ/デシリアライズする。
-
[解決済み] Jacksonとメッセージ付きのJSONファイルからコンテンツをパースする際の問題 - JsonMappingException -Cannot deserialize as out of START_ARRAY token
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] if / for / while 内で "Missing return statement" が発生する。
-
[解決済み】"実引数リストと形式引数リストの長さが異なる"
-
[解決済み] hibernateでResultSetを抽出できない。
-
[解決済み】エラー。Selection does not contain a main type
-
[解決済み】不正なエスケープ文字"㊧"について
-
[解決済み] hibernate のプロパティが見つかりません。
-
[解決済み】Eclipseがエラーメッセージ "Java was started but returned exit code = 1" を返す
-
[解決済み】「java -cp」と「java -jar」の違い?
-
[解決済み] テスト
-
[解決済み] SQLエラー。0, SQLState: 08S01 通信リンクの失敗 [重複]。