一尘不染

解析一个YAML文件

java

这是我第一次使用YAML文件,因此我首先想到的是找到任何可以帮助我解析文件的库。

我发现了两个库YamlBean和SnakeYAML。我不确定我要使用哪一个。

这是我要解析的文件的示例:

users:
  user1:
    groups:
    - Premium
  user2:
    groups:
    - Mod
  user3:
    groups:
    - default
groups:
  Mod:
    permissions:
      test: true
    inheritance:
    - Premium
  default:
    permissions:
      test.test: true
    inheritance:
    - Mod
  Admin:
    permissions:
      test.test.test: true
    inheritance:
    - Mod

该文件将动态更改,因此我不知道该文件将包含多少个用户或组。

我想从中获取的信息是用户名和类似的组:

user1 Premium
user2 Mod
user3 default

并且仅从组中选择组名,如下所示:

Mod
default
Admin

有人可以让我从这里开始吗?最佳的库是什么?YamlBean或SnakeYAML?

我想,我需要将信息保存在容易迭代的内容中。


阅读 499

收藏
2020-09-08

共1个答案

一尘不染

我最终使用了SnakeYaml并做了一些分割字符串来解决我的问题。

在YAML文件加载到Object再进一个Map,那么结果从拆分MapString[],然后在一个for循环我宣读了名字String[]。我对小组也一样。

我知道那里有更好的解决方案,但这对于这个项目已经足够了。

谢谢大家的答复。

2020-09-08