Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用Bukkit API从.yaml文件加载树/索引?_Java_Yaml_Bukkit - Fatal编程技术网

Java 如何使用Bukkit API从.yaml文件加载树/索引?

Java 如何使用Bukkit API从.yaml文件加载树/索引?,java,yaml,bukkit,Java,Yaml,Bukkit,如何从Bukkit中的YAML文件加载树/索引?这是我要从中获取所有值的文件: groups: myGroup1: prefix: [test] permissions: - test myGroup2: prefix: [test2] permissions: - test2 此YAML文件是一种配置,用户可以在其中添加任意数量的组,因此无法收集YamlConfiguration.getString(“groups.myGrou

如何从Bukkit中的YAML文件加载树/索引?这是我要从中获取所有值的文件:

groups:
  myGroup1:
    prefix: [test]
    permissions:
      - test
  myGroup2:
    prefix: [test2]
    permissions:
      - test2
此YAML文件是一种配置,用户可以在其中添加任意数量的组,因此无法收集
YamlConfiguration.getString(“groups.myGroup1.[…])”

我需要有“组:”中所有内容的列表,所以它应该是
YamlConfiguration.getString(“组。%groupName%.[…])”

有人知道如何收集“组”之后的所有东西吗?(可以是组名)谢谢你的帮助

加载YAML文件并拥有
YamlConfiguration
实例后,您可以使用
getKeys(boolean)
获取当前节中的键列表

如果参数为true,则将递归检索所有键。如果为false,则它将只获取顶级密钥。因此,对示例文件调用
yml.getConfigurationSection(“组”).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");
}
ConfigurationSection=yml.getConfigurationSection(“组”);
for(字符串组:section.getKeys(false)){
列表前缀=section.getStringList(“前缀”);
列表权限=section.getStringList(“权限”);
}

您可以使用Jackson读取yml文件。搜索Jackson&&yml&&JAVA谢谢!你能给我一个小说明,如何在“组:”之后加载所有对象吗?可能的重复,因为你已经标记了你的问题Bukkit,这可能是你正在寻找的。谢谢!这就是我问题的答案!:)@PiotrOsada如果您满意,请接受我的回答,以便其他用户知道此问题已得到回答。完成!:)谢谢