パートナーAPIがまだうまくいきません。私が受け取る オブジェクトが必要なソリューションがJsonMappingExceptionを記録し、DBに保存して、オブジェクトをクラッシュしないことです。このJsonMappingExceptionすべての処理と逆シリアル化
{
"id": 1, // Can deserealize
"type": "HUMAN", // Can deserealize
"age": 18, // Can deserealize
"armor": {}, // JsonMappingException
"weapon": {} // Can deserealize
}
のようなものであるが、結果には非直列化できないオブジェクトの代わりにヌル値を置きます。
{
"id": 1, // Can deserealize
"type": "HUMAN", // Can deserealize
"age": 18, // Can deserealize
"armor": null, // Replaced to null or default object
"weapon": {} // Can deserealize
}
何の方法が発射されなかったDeserializationProblemHandler-私が追加しようとしたとDeserializationFeatureは - 私が必要のような何の機能が存在すると思いません。
どのように私は任意のオブジェクトにこの動作を適用することができるようにジャクソンの動作を専門にすることができますので、私はこれを処理し、nullまたは任意のデフォルトオブジェクトで置き換えることができます
デシリアライズコードを共有できますか? –
'ObjectMapper mapper = new ObjectMapper(); Player player = null; try { \t player = mapper.readValue(新しいファイル( "bad_json.txt")、Player.class); } catch(IOException e){ \t log.error( "Bad json"、e); } '一部のクラスには、JsonMappingExceptionもスローするデシリアライザがあります。 –
質問に追加できますか?また、 'Player'クラスの構造体も追加できますか? –