解析 YAML 文件

Parse a YAML file(解析 YAML 文件)
本文介绍了解析 YAML 文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

限时送ChatGPT账号..

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

This is the first time I am working with YAML files, so the first think I looked at was to find any library that could help me to parse the file.

我找到了两个库,YamlBean 和 SnakeYAML.我不确定我要使用哪一个.

I have found two libraries, YamlBean and SnakeYAML. I am not sure which one that I am going to use.

这是我尝试解析的文件示例:

Here is an example of the file that I am trying to parse:

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

文件会动态变化,所以我不知道该文件将包含多少用户或组.

The file will change dynamical so I don't know how many users or groups the file would contain.

我想从中获取的信息是用户名和组,如下所示:

The information I would like to fetch from this is the user name and the group like this:

user1 Premium
user2 Mod
user3 default

从组中只有组名,如下所示:

And from the groups only the group names, like this:

Mod
default
Admin

谁能帮我从这里开始?什么是最好的图书馆?YamlBean 还是 SnakeYAML?

Anyone could get me started here? And what is the best library to use for this? YamlBean or SnakeYAML?

我想,我需要将信息保存在我可以轻松迭代的内容中.

I guess, I need to save the information in something that I easily could iterate over.

推荐答案

我最终使用了 SnakeYaml 并制作了一些拆分字符串来解决我的问题.

I ended up using SnakeYaml and made some split strings to solve my issue.

将yaml文件加载到Object中,然后加载到Map中,然后将Map中的结果拆分为String[] 然后在 for 循环中,我从 String[] 中读出名称.我对组也做了同样的事情.

Loaded the yaml file to Object and then into a Map, then split the result from the Map into String[] and then in a for loop I read out the name from the String[]. I did the same with groups.

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

I know that there is better solutions out there but this is good enough for this project.

感谢大家的回复.

这篇关于解析 YAML 文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

相关文档推荐

How to send data to COM PORT using JAVA?(如何使用 JAVA 向 COM PORT 发送数据?)
How to make a report page direction to change to quot;rtlquot;?(如何使报表页面方向更改为“rtl?)
Use cyrillic .properties file in eclipse project(在 Eclipse 项目中使用西里尔文 .properties 文件)
Is there any way to detect an RTL language in Java?(有没有办法在 Java 中检测 RTL 语言?)
How to load resource bundle messages from DB in Java?(如何在 Java 中从 DB 加载资源包消息?)
How do I change the default locale settings in Java to make them consistent?(如何更改 Java 中的默认语言环境设置以使其保持一致?)