Spring Boot (Jackson) : 클래스 이름이 JSON으로 직렬화되는 것을 방지하는 방법

Lars Rosenqvist

REST 애플리케이션에서 노출 된 일부 XML을 사용 중이며이를 내 REST 서비스에서 JSON으로 노출하고 싶습니다.

지금 다음 POJO가 있습니다.

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
    "salesMarket"
})
@XmlRootElement(name = "salesMarkets")
public class SalesMarkets {

protected List<SalesMarket> salesMarket;

public List<SalesMarket> getSalesMarket() {
    if (salesMarket == null) {
        salesMarket = new ArrayList<SalesMarket>();
    }
    return this.salesMarket;
   }

}

다음 JSON을 생성합니다.

  "salesMarkets": {
"salesMarket": [
  {
    "brands": {
      "brand": [
        "DAN"
      ]
    },
    "code": "999"
  },
  {
    "brands": {
      "brand": [
        "DAN"
      ]
    },
    "code": "208"
  }
]
}

내 질문은 (Jackson 주석 사용) 클래스 이름이 JSON으로 직렬화되는 것을 피할 수있는 방법이 있습니까 ??, 그래서 대신 다음과 같이합니다.

    "salesMarket": [{
    "brands": {
        "brand": [
            "DAN"
        ]
    },
    "code": "999"
}, {
    "brands": {
        "brand": [
            "DAN"
        ]
    },
    "code": "208"
}]

나는 SalesMarkets 클래스에 대한 Jackson annotaion을 생각하고 있습니다 ...하지만 아직 성공하지 못했습니다 :-(

최신 정보:

SalesMarket 클래스가 다른 클래스에서 참조된다는 사실을 깨달았습니다. 이것이 "salesMarkets"가 JSON에 나타나는 이유입니다. SalesMarkets 필드에 주석을 달아 무시되지만 여기에 포함 된 필드는 제외되는 방법이 있습니까? :

@XmlRootElement(name = "product")
public class Product {

@XmlElement(required = true)
protected String propertyID;
@XmlElement(required = true)
protected String season;
**protected SalesMarkets salesMarkets;**
protected Information information;
protected Features features;
protected Location location;
protected Address address;
protected Buildings buildings;
protected Pictures pictures;
protected Media media;
protected Prices prices;
protected Offers offers;
protected Availabilities availabilities;
protected Services services;
protected Concepts concepts;
...
꿀 태양

제거해야합니다.

@XmlRootElement(name = "salesMarkets")

또는 다음 에서 기능비활성화 하십시오ObjectMapper .

objectMapper.configure(SerializationConfig.Feature.WRAP_ROOT_VALUE, true)

인스턴스 에서 필드 를 추가로 풀기 위해 다음을 수행 할 수 있습니다.salesMarketsProduct

public class Product {
  protected SalesMarkets salesMarkets;

  public List<SalesMarket> getSalesMarkets(){
     if(salesMarkets != null){
       return salesMarkets.getSalesMarket();
     } else {
       return null;
     }
  }
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

클래스 이름을 동적 값으로 사용하여 json을 역 직렬화하는 방법

분류에서Dev

클래스 이름을 루트 요소로 사용하여 C # 클래스를 직렬화하는 방법

분류에서Dev

C #에서 클래스 개체를 JSON 문자열로 직렬화하는 동안 키 이름을 동적으로 설정하는 방법

분류에서Dev

모델 클래스 데이터를 json으로 직렬화하는 방법

분류에서Dev

Spring Boot에서 @Entity 클래스에 대한 클래스 경로 스캔을 활성화하는 방법

분류에서Dev

Jackson을 사용하여 JAVA 클래스를 대상으로하는 JSON 직렬화 및 역 직렬화

분류에서Dev

추상 클래스로 이것을 디자인하는 방법

분류에서Dev

Jackson : 속기 속성 값으로 json을 역 직렬화하는 방법

분류에서Dev

PS가 프로세스 이름을 자르는 것을 방지하는 방법

분류에서Dev

Jackson으로 JSON을 null 값으로 직렬화하지만 값을 비우는 방법은 무엇입니까?

분류에서Dev

Spring Integration을 사용하여 JSON 직렬화를 기본값으로 설정하는 방법이 있습니까?

분류에서Dev

클래스의 열 이름으로 클래스 레이블을 표시하는 방법은 무엇입니까?

분류에서Dev

Swift : 클래스 이름으로 속성을 선언하는 방법

분류에서Dev

Web API에서 클래스로 JSON을 역 직렬화하는 방법

분류에서Dev

파이썬 내장 클래스 (예 : int)를 JSON으로 직렬화하는 방법은 무엇입니까?

분류에서Dev

클래스 변수의 이름을 지정하는 방법

분류에서Dev

json 배열과 일반 속성을 jackson의 pojo로 역 직렬화하는 방법. 어레이 만 작동

분류에서Dev

Spring Boot 프로젝트에서 Jackson으로 JSON을 역 직렬화 할 때 하나의 필드에 null이 할당 됨

분류에서Dev

클래스 이름으로 오류를 제거하는 방법

분류에서Dev

이러한 클래스가 "{}"의 json으로 직렬화되는 이유

분류에서Dev

div 클래스 이름으로 div ID로 배열을 채우는 방법

분류에서Dev

직렬화 할 때 '이름'속성을 수동으로 설정하는 방법

분류에서Dev

Spring Config XML을 Spring Boot 주석으로 마이그레이션하는 방법

분류에서Dev

Jackson을 사용하여 부울을 JSON으로 문자열로 직렬화하는 방법

분류에서Dev

복잡한 방법을 기반으로 클래스 이름을 설정하는 방법은 무엇입니까?

분류에서Dev

변수 이름과 배열로 JSON을 역 직렬화하는 방법

분류에서Dev

curl 출력에서 클래스 이름으로 div 값을 얻는 방법

분류에서Dev

Jackson으로 OffsetDateTime을 직렬화 해제하는 동안 오프셋을 유지하는 방법

분류에서Dev

Spring 4에서 fasterxml Jackson JSON 직렬화를 사용하는 방법

Related 관련 기사

  1. 1

    클래스 이름을 동적 값으로 사용하여 json을 역 직렬화하는 방법

  2. 2

    클래스 이름을 루트 요소로 사용하여 C # 클래스를 직렬화하는 방법

  3. 3

    C #에서 클래스 개체를 JSON 문자열로 직렬화하는 동안 키 이름을 동적으로 설정하는 방법

  4. 4

    모델 클래스 데이터를 json으로 직렬화하는 방법

  5. 5

    Spring Boot에서 @Entity 클래스에 대한 클래스 경로 스캔을 활성화하는 방법

  6. 6

    Jackson을 사용하여 JAVA 클래스를 대상으로하는 JSON 직렬화 및 역 직렬화

  7. 7

    추상 클래스로 이것을 디자인하는 방법

  8. 8

    Jackson : 속기 속성 값으로 json을 역 직렬화하는 방법

  9. 9

    PS가 프로세스 이름을 자르는 것을 방지하는 방법

  10. 10

    Jackson으로 JSON을 null 값으로 직렬화하지만 값을 비우는 방법은 무엇입니까?

  11. 11

    Spring Integration을 사용하여 JSON 직렬화를 기본값으로 설정하는 방법이 있습니까?

  12. 12

    클래스의 열 이름으로 클래스 레이블을 표시하는 방법은 무엇입니까?

  13. 13

    Swift : 클래스 이름으로 속성을 선언하는 방법

  14. 14

    Web API에서 클래스로 JSON을 역 직렬화하는 방법

  15. 15

    파이썬 내장 클래스 (예 : int)를 JSON으로 직렬화하는 방법은 무엇입니까?

  16. 16

    클래스 변수의 이름을 지정하는 방법

  17. 17

    json 배열과 일반 속성을 jackson의 pojo로 역 직렬화하는 방법. 어레이 만 작동

  18. 18

    Spring Boot 프로젝트에서 Jackson으로 JSON을 역 직렬화 할 때 하나의 필드에 null이 할당 됨

  19. 19

    클래스 이름으로 오류를 제거하는 방법

  20. 20

    이러한 클래스가 "{}"의 json으로 직렬화되는 이유

  21. 21

    div 클래스 이름으로 div ID로 배열을 채우는 방법

  22. 22

    직렬화 할 때 '이름'속성을 수동으로 설정하는 방법

  23. 23

    Spring Config XML을 Spring Boot 주석으로 마이그레이션하는 방법

  24. 24

    Jackson을 사용하여 부울을 JSON으로 문자열로 직렬화하는 방법

  25. 25

    복잡한 방법을 기반으로 클래스 이름을 설정하는 방법은 무엇입니까?

  26. 26

    변수 이름과 배열로 JSON을 역 직렬화하는 방법

  27. 27

    curl 출력에서 클래스 이름으로 div 값을 얻는 방법

  28. 28

    Jackson으로 OffsetDateTime을 직렬화 해제하는 동안 오프셋을 유지하는 방법

  29. 29

    Spring 4에서 fasterxml Jackson JSON 직렬화를 사용하는 방법

뜨겁다태그

보관