这是我第一次使用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