当前位置: 首页 > 面试题库 >

解析一个YAML文件

韦鸣
2023-03-14
问题内容

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

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


问题答案:

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

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

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

谢谢大家的答复。



 类似资料:
  • 这是我第一次使用YAML文件,所以我首先想到的是找到任何可以帮助我解析文件的库。 我找到了两个库,YamlBean和snakeyaml。我不确定我要用哪一个。 下面是我试图解析的文件的一个示例: 该文件将动态更改,所以我不知道该文件将包含多少用户或组。 有人能帮我开始吗?最好的图书馆是什么?YamlBean还是Snakeyaml? 我想,我需要将这些信息保存在一个可以轻松重复的东西中。

  • 问题内容: 我有一个yaml文件,当前写为: 但是,此yaml文件经常更改,因此每次可以使用不同的值添加新条目: 我从使用gopkg.in/yaml.v2包开始就知道,如果所有值都相同,我可以解析yaml文件,例如: 在上面的示例中,它仅适用于密钥/狗密钥,而不适用于其他密钥。 当新值经常添加到yaml文件中时,如何在Go中执行此操作? 谢谢 问题答案: 如果您现在不精确的结构,则应该使您的结构看

  • 问题内容: 如何在Python中解析YAML文件? 问题答案: 不依赖标头的最简单,最纯净的方法是(文档),可以通过以下方式安装: 就是这样。一个普通的函数也存在,但是除非你明确需要提供的任意对象序列化/反序列化,以避免引入执行任意代码的可能性,否则通常应首选该函数。

  • 本文向大家介绍Python3操作YAML文件格式方法解析,包括了Python3操作YAML文件格式方法解析的使用技巧和注意事项,需要的朋友参考一下 数据及配置文件之争 数据及文件通常有三种类型: 配置文件型:如ini,conf,properties文件,适合存储简单变量和配置项,最多支持两层,不适合存储多层嵌套数据 表格矩阵型:如csv,excel等,适合于存储大量同类数据,不适合存储层级结构的数

  • 问题内容: 我有以下程序,其中我需要使用以下结构来解析yaml: https://codebeautify.org/yaml- validator/cbabd352 这是 有效的Yaml ,我使用字节使​​其更简单,也许缩进在复制粘贴到问题的过程中已更改,但您可以在链接中看到yaml有效 YAML的有API_VERSION和亚军,每个转轮(关键是名字),我已经命令的列表,我需要打印这些命令和,我究

  • 问题内容: 如何将YAML文件解析/读入Python对象? 例如,此YAML: 对于此Python类: 我正在使用PyYAML。 问题答案: 如果您的YAML文件如下所示: 并且您已经这样安装: Python代码如下所示: 变量现在包含带有树数据的字典。如果使用PrettyPrint打印,则会得到类似以下内容的信息: 因此,现在我们已经了解了如何将数据获取到我们的Python程序中。保存数据同样简