>

따라서 snakeyaml 을 접했습니다. 나는 방법을 알고 그들의 열쇠를 사용하여 와이즈 비즈 문자열과 객체의 해시 맵을 반환합니다. 데모 용으로 값이있는 yaml 파일이 있습니다 :

java
yaml.load(inputStream);

사용할 때

player:
  randie:
    score: 4

출력은 다음과 같습니다 :

File file = new File("test")
FileInputStream stream = new FileInputStream(file);
Map<String, Object> map = yaml.load(stream);
for (String str : map.keySet()) {
   System.out.println(map.get(str));
}

이것

스레드의 정답

감사합니다

{randie={score=4}}

  • 답변 # 1

    yaml 파일의 구조를 나타내는 클래스를 만든 다음 올바른 형식으로로드 할 수 있습니다.

    public class Result {
        private Player player;
        public Player getPlayer() {
            return player;
        }
        public void setPlayer(Player player) {
            this.player = player;
        } 
    }
    public class Player {
        private Randie randie;
        public Randie getRandie() {
            return randie;
        }
        public void setRandie(Randie randie) {
            this.randie = randie;
        } 
    }
    public class Randie {
        private int score;
        public int getScore() {
            return score;
        }
        public void setScore(int score) {
            this.score = score;
        } 
    }
    
    

    그런 다음 loadAs 를 사용하여로드하십시오.  기능.

    public class YamlDataInterpreter {
        public static void main(String[] args) {
            YamlDataInterpreter intepreter = new YamlDataInterpreter();
            intepreter.interpretYaml();
        }
        public void interpretYaml() {
            InputStream stream = this.getClass().getClassLoader()
                .getResourceAsStream("data.yml");
            Yaml yaml = new Yaml();
            Result res = yaml.loadAs(stream, Result.class);
            System.out.println(res.getPlayer().getRandie().getScore());
        }
    }
    
    

    https://github.com/KenavR/snakeyaml-example

  • 이전 css - 키 프레임을 뒤집는 방법?
  • 다음 ios - switch 문에서! =를 사용하는 방법은 무엇입니까?