问题标签 [hocon]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scala - 在 pureconfig 中表示 Either
我有一个这样的 HOCON 配置:
我想用pureconfig解析它。我如何表示 URL 可以是字符串或多个 url 的映射,每个 url 都有一个键?
我试过这个:
但它导致“预期类型 OBJECT。找到 STRING。”
我知道 pureconfig 支持Option
. 我发现没有提到支持Either
,是不是意味着它可以用其他东西代替?
string - HOCON 转义双引号
HOCON 游乐场:https ://hocon-playground.herokuapp.com/
这是我想要实现的目标:
我需要最终结果是:
{ "HOCON" : "{host =~ "hi*"}", "lbid" : "hi*" }
我得到的是:
输入:
lbid="hi*" HOCON = "{host =~ \""${lbid}"\"}"
输出: { "HOCON" : "{host =~ \"hi*\"}", "lbid" : "hi*" }
有人能告诉我如何在存在多个双引号的情况下转义双引号吗?我需要双引号内的整个字符串,例如(“hi *”)。
hi 值也来自一个变量。这使事情变得有点复杂,并且没有提供预期的输出。
javabeans - 将 Typesafe 配置映射到 bean 类 (ConfigBeanFactory) 时,有没有办法标记拼写错误的属性?
我们的应用程序使用 reference.conf 为我们的 POJO 之一提供默认值,该 POJO 带有配置信息。假设 Pojo 是:
reference.conf 具有默认值:
因此,如果您的 application.conf 有:
因此,当你这样做时:
你会用 first/last == mike/shmoe 找回一个 Person
现在..说我有一些用户没有得到足够的睡眠,其中一个人像这样错误地配置了他们的应用程序(拼写错误“first”):
我现在做事的方式是从此配置加载的 Pojo 具有默认的 first/last == joe/shmoe。没有关于拼写错误(“frist”)的警告。
我可以编写代码来反映我的 Bean 类,并查看用户提供的哪些属性与可用的设置器不对应,然后在发现任何“错误”属性时引发错误。
但似乎有人(甚至可能是 Typesafe 配置基础库)必须已经拥有此功能。
任何指向一个好的现有方法的指针都非常感谢。
scala - 如果使用替换,HOCON 不会覆盖值
我正在使用一个 HOCON 配置文件,它也有替换变量。但是在替换变量的情况下,键不会被同一个文件中的另一个值覆盖。例如,考虑以下 HOCON 配置:
现在,当我从 ConfigFactor.parseURL 加载它时,生成的配置是:
这里y
必须解决,但这不会发生在z
.
问题:
- 这个输出的原因是什么?
- 如何也可以解析“z”?
java - 我们是否有一个适当的可序列化 HOCON 来尊重顺序或在 java 中进行内联替换?
我正在用 java 开发一个应用程序,它有一个配置文件(我选择 HOCON,如果我们有其他选项,请告诉我哪个符合我的要求)和一个用于编辑配置文件的 UI。
用户可以直接编辑配置文件,也可以使用 UI。配置文件可以有注释。
如果用户使用 UI 来编辑文件,我需要在他们点击保存时更新配置文件。
我正在使用lightbend/config来读取和写入配置文件。
但是写作的问题是它不保持参数的顺序并且注释混乱。见下图:
我的要求是有一个可以维护注释和参数顺序的编写器,因为您可以看到,如果某些注释丢失,它对用户不友好。
是否可以使用 lightbend/config 或者是否有任何其他配置阅读器和编写器可以满足我的要求?
如果我们有能够满足我要求的读写器,我什至准备使用 HOCON 以外的其他配置格式。
由于我的配置要求很复杂,属性文件不是一个很好的选择。
typesafe - HOCON : 如何限制基数包括
我正在使用 HOCON 配置文件,其中有一个基本文件,例如
有 2 个派生的 conf,如下 Conf1
会议2
我需要像 Conf1 应该包含"Key1" 和 "Key3"的结果,而 Conf2 应该包含"Key1","Key2" 和 "Key4"。我可以使用 hocon 基本配置来实现这一点吗?
java - 将 HOCON 字符串转换为有效 json 字符串的库或算法
我仅限于hocon
在我们的 java 应用程序中使用我们的配置文件。我的问题是我无法更改格式,但我现在需要将其存储在另一个只接受平面yaml
文件的后端。
示例app.conf
文件:
尝试 1:hocon
使用 TypesafeConfig 读取和解析文件:
出现这种情况有2个问题:
将
mapper.readTree
抛出错误,因为第二个条目play.http.port
不是数字并且没有引用,${?HTTP_PORT}
是文字值;如果未引用该值,我想保留 hocon 的功能,其中包括 env 替换。即使这些值已转换为合法值 - 当它转换为 json 时,它也会被最后一个值覆盖。这打破了与 hocon 的功能对等性。
关于如何利用 typeSafe 配置功能将 conf 打印为半有效 json 的任何想法。
除非我能够操纵值的结果,否则我不能使用打包的 json 解析器。我在谷歌上搜索了一些关于如何自定义读取值的信息,但我认为目前不可能。
预期输出:为所有值添加引号并将值附加__replace__
到具有重复键的所有键并具有环境变量
请证明我错了!或者提出一个想法!那里有 yaml 格式解析器的 hocon 格式吗?
scala - 将 Hocon 配置读取为 Map[String, String],其中键为点符号和值
我有以下 HOCON 配置:
HOCON 将路径“bcd”和“dfg”表示为对象。所以,我想要一个阅读器,它将这些配置读取为 Map[String, String],例如:
我创建了一个阅读器并尝试以递归方式进行操作:
它给了我正确的结果,但有没有办法在这里避免 MutableMap?
PS 另外,我想通过“pureconfig”阅读器继续实施。
scala - 如何在运行时将 hocon 配置动态加载到案例类中
我正在开发一个库,它将采用用户配置 hocon 和用户提供案例类(在用户应用程序的类路径中),我需要在运行时动态地将 hocon 配置读取到案例类。动态我的意思是我在编译时不知道案例类,我只会通过用户输入在运行时知道案例类。
如何使用类名或 ClassTag 将 hocon 读入案例类?我曾尝试在 tsconfig 周围使用 pureconfig 或 kxbmap/configs 和其他 scala 包装器,但这些在编译时需要案例类信息。
无论如何或有任何工具可以在运行时动态读取 hocon 到案例类?
logging - 如何审查/隐藏 HOCON 值使其不会出现在 Ktor 日志中
使用 Ktor 作为 Web 服务器并使用 (HOCON) application.conf 文件对其进行配置。
我已经在配置中设置了用于连接数据库的默认密码,以及使用环境变量覆盖它的能力。
当服务器启动时,配置会打印到控制台(并且将来可能存储在日志中),问题是密码是显而易见的。
有谁知道防止这种情况的方法?
代表application.conf:
示例服务器输出