在 Scala 中有效解析 YAML 文件的可能性有哪些?如何在 Scala 中使用它?

问题描述

我想为我的某些变量制作一个配置文件,这样我就不必每次都更改代码。 我想通过制作一个 YAML 文件来做到这一点。我正在使用 Scala。 通过从 yaml 读取到我的应用程序中使用这些变量的有效方法是什么。

到目前为止,我已经查看了snakeyaml库,但它包含java函数并解析字符串中的yaml,我无法在不拆分字符串的情况下进入yaml文件的嵌套键值对。 我如何通过留在 Scala 中使用这些以及什么是更好的解析方法,因为我需要经常获取嵌套值。如何在我的应用程序中使用它?

例如 如果这是我的 yaml 文件

---
accountName: Ymail Account
username: johndoe
password: secret
mailBox: INBox
imapServerUrl: imap.mail.yahoo.com
protocol: imaps
minutesBetweenChecks: 1
usersOfInterest: [barney,betty,wilma]
...

我想根据需要单独获取 userOfInterst 的每个索引。

到目前为止我已经这样做了

  @BeanProperty var accountName = ""
  @BeanProperty var username = ""
  @BeanProperty var password = ""
  @BeanProperty var mailBox = ""
  @BeanProperty var imapServerUrl = ""
  @BeanProperty var protocol = ""
  @BeanProperty var minutesBetweenChecks = 0
  @BeanProperty var usersOfInterest = new java.util.ArrayList[String]
  override def toString: String = s"acct: $accountName,user: $username,url: $imapServerUrl,uot: $usersOfInterest," +
    s"mbc: $minutesBetweenChecks"

但它只是将所有内容打印为字符串,这没有帮助。还有哪些其他选项以及如何动态获取它?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)