Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java에서 Jackson API를 사용하여 @JsonRawValue 주석을 사용하는 것은 무엇입니까?


@JsonRawValue 주석은 선언된 대로 필드 또는 속성을 직렬화하기 위해 메서드와 필드 모두에 사용할 수 있습니다. 예를 들어 Java 클래스에 String 필드가 있는 경우 JSON 값은 따옴표(“ " ). 그러나 @JsonRawValue로 필드에 주석을 달 때 주석, Jackson 라이브러리는 따옴표를 생략합니다.

구문

@Target(value={ANNOTATION_TYPE,METHOD,FIELD})@Retention(value=RUNTIME)public @interface JsonRawValue

아래 예에서 empAddress 필드는 JSON 문자열입니다. 이 JSON 문자열은 Employee 의 최종 JSON 문자열의 일부로 직렬화됩니다. 개체.

예시

 com.fasterxml.jackson.annotation.JsonRawValue 가져오기; com.fasterxml.jackson.databind.ObjectMapper 가져오기; com.fasterxml.jackson.core.JsonProcessingException 가져오기 JsonProcessingException 발생 { ObjectMapper 매퍼 =new ObjectMapper(); 문자열 jsonString =mapper.writerWithDefaultPrettyPrinter().writeValueAsString(신규 직원()); System.out.println(jsonString); }}// 직원 클래스 클래스 직원 { public int empId =115; 공개 문자열 empName ="사이 차이타냐"; @JsonRawValue 공개 문자열 empAddress ="{\"doorNumber\":1118, \"street\":\"IDPL Colony\", " + "\"city\":\"Hyderabad\"}";}

출력

{ "empId" :115, "empName" :"Sai Chaitanya", "empAddress" :{"doorNumber":1118, "street":"IDPL Colony", "city":"Hyderabad"}}