JsonIgnoreProperties 특정 속성 직렬화 속성의 사용은 JSON 만 존재

user7294900 :

내가 추가하는 몇 가지 코드 우연히 JsonIgnoreProperties를 클래스에 존재하지 않는 속성 만 존재 JSON예 :

@JsonIgnoreProperties({"ignoreprop"})
public class VO {
   public String prop;
}

JSON입니다

{ "prop":"1", "ignoreprop":"9999"}

나는 특성을 무시하면 어떤 장점 (들) 성능 현명한이 있거나 그냥 중복 코드 궁금해?

(직렬화시) 성질 중 하나 억제 직렬화 사용하거나 JSON 특성 처리 무시할 수있는 주석 (직렬화시) 판독.

편집하다

이점 (들)을 무시하고 특정 속성은 모든 (에 이상이 있습니까 @JsonIgnoreProperties(ignoreUnknown=true))?

Roee Gavirel :

속성을 무시하면 어떤 장점이 있는지 궁금해

네, 서비스의 미래의 호환성을 위해 많이 사용된다. 하자 당신이 서비스 A와 B 현재 일부 JSON 객체와 B에 요청을 보내는이 있다고.
이제 JSON에 새로운 속성을 지원하고자합니다. 이 기능이있는 경우는 A가 B 그것을 처리하는 방법을 알고 전에 새 속성을 보내기 시작하자 수 있습니다. 디커플링 개발하는 것은이 두 서비스를 처리합니다.

무시 특정 온통 속성을

이 경우는 약간의 성능 이점을 가지고있다. 첫째, 단순한 문자열이나 복잡한 객체 / 배열 할 수있다이 속성을 구문 분석하지 않습니다. 둘째, 당신이 예외를 처리하는 방지 할 수 있습니다. 모든 다음은 유효한 통화가 될 수 있다고 생각하고 당신은 단지에 관심 prop:

{ "prop":"1", "ignoreprop":"9999"}

{ "prop":"1", "ignoreprop":{ "a": { "key": "value", "foo": false }}}

{ "prop":"1", "ignoreprop":[1,2,3,4,5,6..... 1000000]}

추천

출처http://43.154.161.224:23101/article/api/json?id=189447&siteId=1