파트너 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는 - 내가 필요 같은 어떤 기능이 존재하는 것으로 보인다.
어떻게이 동작을 모든 개체에 적용 할 수 있도록 Jackson의 동작을 특수화 할 수 있습니까? 그래서 어떤 필드도 매핑 할 수 없으면이를 처리하고 null 또는 기본 개체로 바꿀 수 있습니까?
비 직렬화 코드를 공유 할 수 있습니까? –
'ObjectMapper mapper = new ObjectMapper(); Player player = null; 시도 { \t 플레이어 = mapper.readValue (새 파일 ("bad_json.txt"), Player.class); } catch (IOException e) { \t log.error ("Bad json", e); }'일부 클래스에는 JsonMappingException을 던지는 디시리얼라이저가 있습니다. –
질문에 추가 할 수 있습니까? 또한'Player' 클래스의 구조를 추가 할 수 있습니까? –