2016-12-01 1 views
1

코드에서 YAML 파일을로드하는 동안 값을 확인하는 방법이 있습니까? 요구 사항은 값을 가져야하는 YAML 파일의 일부 요소입니다. 유효성 검사가 실패하면 YAML을로드해서는 안됩니다.YAML 구성 파일을로드하는 동안 값을 확인하는 방법은 무엇입니까?

저는 snakeyaml 라이브러리를 사용 중이며 대리인을 통해이를 수행 할 수있는 방법이 있다고 들었습니다. 나는 현재 YAML를로드하는 데 사용하고

코드, 당신은 YAML 파일에서 어떤 값을 가질 수 있기 때문에

Reader in = new InputStreamReader(Files.newInputStream(file), StandardCharsets.UTF_8); 
Yaml yaml = new Yaml(); 
yaml.setBeanAccess(BeanAccess.FIELD); 
return yaml.loadAs(in, School.class); 

답변

1

, 당신은, 함수에서 파일을로드 값을 테스트하고 오류가있는 경우를 인상해야한다 가치관은 당신이 원하는 것이 아닙니다. 로드 된 데이터가있는 경우이를 반환합니다.

YAML에 임의의 객체를 만드는 태그가있는 경우 부작용이있을 수 있지만로드하는 동안 검사해도 방해하지 않습니다. 검사 할 값에 도달하기 전에 객체가 만들어 졌을 수 있습니다.

YAML에 태그가 있고 실제 문제가있는 경우 일반 매핑 객체를 만들어 태그를 처리 할 수있는 YAML 파일에 대해 safe_load -er를 작성한 다음 값을 확인해야합니다 전체 태그 지원으로 다시로드하십시오.

관련 문제