잭은 사용자 정의 필드의 순서를 결합 넣어, 오류 : 단지 기본, 인수 없음의 생성자를 사용하여 비 정적 내부 클래스를 인스턴스화 할 수 있습니다

패키지 com.xxx; 

수입 com.fasterxml.jackson.annotation.JsonProperty;
수입 lombok.Data;
수입 lombok.NoArgsConstructor; 

수입 은 java.util.List; 

공용  클래스 TestJsonNode { 

    @Test 
    공개  공극 시험 () 
    { 
        문자열 JSON = "{\"상태 \ "0 \"세그먼트 \ "0 \"결과 \ "{\"가설 \ ": [{\" 성적 증명서 \ "\"原的\ "}, \"최종 \ "거짓}, \"아이디 \ "\"ba040ef0-9134-46f3-8a95-cc9b70868c07의 \ "}" ; 
        ObjectMapper objectMapper = 새로운 ObjectMapper ();
                    JsonNode 노드 = objectMapper.readTree JSON ();
//             부울 containsStatusField = node.has ( "상태");
//             (! containsStatusField)의 경우
 //             {
 //                 에서 System.out.println ( "服务器异常");
//             }
 // 
//             INT node.findValue 상태 = ( '상태')있는 intValue ().;
            // 에서 System.out.println (상태); 

            응답 ASRConversionResponse = objectMapper.readValue (JSON, ASRConversionResponse. 클래스 ); 

            에서 System.out.println (대응); 

        } 캐치 (IOException이 전자) { 
            ) (e.printStackTrace을;
        } 
    } 

@Data 
@NoArgsConstructor 
공공  클래스 ASRConversionResponse 
{ 
    개인 정수 상태;
    개인 문자열 메시지; 

    개인 목록 <결과> 결과; @JsonProperty (

    "segment_start") //此处为自定义字段绑定类型
     개인 플로트 segmentStart; 

    @JsonProperty ( "segment_length" )
     개인 플로트 segmentLength; 

    @JsonProperty ( "total_length" )
     개인 플로트 totalLength; 

    개인  짧은 세그먼트; 

    개인 문자열 ID;

} 

@Data 
@NoArgsConstructor의 
  클래스 결과 { 

    @JsonProperty ( "최종" )
     개인 부울 _final; 

    개인 목록 <가설> 가설; 
} 

@Data 
@NoArgsConstructor 
  클래스 가설 
{ 
    개인 플로트 가능성;
    개인 문자열 성적 증명서; 
} 

}

오류 원인 : 내부 ASRConversionResponse 제안 클래스, 단일 ASRConversionResponse.java의 새로운 클래스

추천

출처www.cnblogs.com/passedbylove/p/11316538.html