這是我第一次使用YAML解析器和我目前停留在這一點上YAML解析從配置文件
我有去像
Users
-Name:A
Id : x
Addr:10.0.0.1
-Name:B
Id :y
Addr:10.0.0.2
HomeAddress
City:bla bla
Country:bla bla
Office Address
City:abchd
Country:bha bha ba
一個配置文件,所以我認爲解析它的最好方法是擁有這樣的列表。
List<Map<String, obj>> Object = (List<Map<String, obj>>) yaml.load(input);
目標是通過指定字符串來訪問對象。喜歡用戶名A,我可以獲得他的ID和IPAddr(這是我目前最重要的)。但是當我嘗試這個聲明時,我得到了這樣的錯誤
Exception in thread "main" java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to java.util.List
at Message.MessagePasser.<init>(MessagePasser.java:34)
有人可以幫我調試這個。我限期運行!! :(
我使用的是SnakeYaml分析器 – ExceptionHandler
請參閱!更新的答案。 – Behrang
謝謝你的澄清。把你的小技巧修改爲這個,我修改了我的代碼,像'Map obj =(Map )yaml.load(input);'但是,儘管如此,我有一個錯誤,它不能將java.util.ArrayList強制轉換爲NodeIP類型(這是我定義的類)。所以你能提出一些改變嗎? –
ExceptionHandler