我有HOCON格式的文件,其中一个非常长的字符串被分配给一个键。该字符串包含单引号(和其他“非法”字符),因此我需要将值括在双引号中。像这样:
key="extremely long string with 'illegal' characters :;/. bla bla ..."
为了便于阅读,我想将其拆分为多行。我很简单没有办法做到这一点。如果字符串没有用双引号括起来,我可以使用\
来分割行。如果我不关心添加换行符,我可以使用"""
。但我做关心这些事情。
我研究了informal HOCON specs,但仍未找到解决方案。
(由于HOCON类似于JSON(我对此一无所知),我也用“JSON”标记了这个问题。)
答案 0 :(得分:3)
您可以使用hocon self-refs - 例如,hocon部分:
simple.database {
host = "db-server"
port = "5432"
name = "postgres"
user = "postgres"
pass = "postgres"
connection {
driver = "org.postgresql.Driver"
url = "jdbc:postgresql://"${simple.database.host}":"${simple.database.port}
url = ${simple.database.connection.url}"/"${simple.database.name}
url = ${simple.database.connection.url}"?ssl="true
url = ${simple.database.connection.url}"&user="${simple.database.user}
url = ${simple.database.connection.url}"&password="${simple.database.pass}
}
}
解决后产生:
url = "jdbc:postgresql://db-server:5432/postgres?ssl=true&user=postgres&password=postgres"
答案 1 :(得分:0)
我想拆分一个非常长的内容安全策略,但是“”“在标题中添加了新行,导致了问题。只是分解了每个部分。感谢Andrei的上述解决方案,帮助我开箱即用。将不同的线组合成一个。
default-src = "default-src 'self';"
connect-src = "connect-src 'self';"
img-src = "img-src 'self';"
style-src = "style-src 'self';"
play.filters.headers.contentSecurityPolicy = ${default-src} ${connect-src} ${img-src} ${style-src}