패키지 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의 새로운 클래스