如何从Bukkit中的YAML文件加载树/索引?这是我想从中获取所有值的文件:
groups:
myGroup1:
prefix: [test]
permissions:
- test
myGroup2:
prefix: [test2]
permissions:
- test2
此YAML文件是一种配置,用户可以根据需要添加任意数量的组,因此无法收集YamlConfiguration.getString("groups.myGroup1.[..])")
之类的内容。
我需要在“groups:”中列出所有内容,所以看起来应该是这样的
YamlConfiguration.getString("groups.%groupName%.[..])")
。
有人知道如何收集“群组:”之后的所有内容(它可以只是群组名称)感谢您的帮助!
答案 0 :(得分:2)
一旦您加载了YAML文件并拥有YamlConfiguration
的实例,就可以使用getKeys(boolean)
获取当前部分中的键列表。
如果参数为true,则将递归检索所有键。如果它是假的,那么它只会获得顶级键。因此,在示例文件上调用yml.getConfigurationSection("groups").getKeys(false)
会产生以下结果:
[myGroup1, myGroup2]
在您的情况下,使用它来解析yaml文件将如下所示:
ConfigurationSection section = yml.getConfigurationSection("groups");
for (String group : section.getKeys(false)) {
List<String> prefixes = section.getStringList("prefix");
List<String> permissions = section.getStringList("permissions");
}