2017-12-24 43 views
0

안녕하세요, 저는 json을 구문 분석하여 기존 시스템에 도달하여 검색하고 json을 작성합니다. 잭슨 종속성을 가진 스프링 부트를 사용하고 있습니다. 내가 가진 문제는 레거시 필드의 거의 75 %가 직접 매핑되거나 간단한 규칙을 기반으로 매핑 될 수 있다는 것입니다 (0 : false, 1 : true).jackson - 루트 요소 읽기 트리 대 pojo

  1. POJO - 그러나,뿐만 아니라 일부 필드에 존재하는 특정 조건 및 데이터를 기반으로 같은 몇 가지 복잡한 규칙이있다, 우리는 우리가 고려해야 할 접근 방식이 요구 사항에 부응하기 위해 등 중첩 된 객체에 매핑 할 수 있습니다 접근 방식을 사용하여 레거시 대상에서 데이터를 가져옵니다. bean util을 사용하십시오. copyproperties를 사용하여 응답 빈 (property)의 75 %를 채운 다음이 POJO에 대한 비즈니스 변환을 비즈니스 로직을 기반으로 변환하도록 적용합니다. (beanutil.copyproperties에서 복사하기 위해 여기에 두 개의 pojos가 필요하다.) b. 최종 응답 dto를 만든다.)

  2. pojo를 사용하지 말고 변환을 적용한 후 새로운 POJO 또는 응답을 만든다. DTO. (그러나 이것은 일반적인 해결책이 아니며 경우에 따라 수행해야합니다.)

주요 고려 사항은 접근 방식이 빠르며 프레임 워크와 같이 적용되어야합니다. 감사합니다 aakash

+0

형식이 안전한 문서화 된 Java 객체 (기존 API 메시지에 매핑 됨)를 다른 객체로 변형하면 JsonObject를 변형하는 것보다 훨씬 쉽고, 깔끔하고 유지 보수가 쉬워집니다. –

답변

0

고려 사항은 다음과 같아야합니다. - POJO는 재사용 가능합니까? - JSON 다중 레벨과 매우 큰가요?

대답이 모두 예인 경우 더 깨끗한 구현을 위해 POJO를 선택하는 것이 좋습니다. 그렇지 않으면 JsonObject 구문 분석. 희망이 도움이 될 것입니다.