我有一个 HOCON 格式的文件,其中一个很长的字符串被分配给一个键。该字符串包含单引号(和其他“非法”字符),因此我需要将值括在双引号中。像这样的东西:
key="extremely long string with 'illegal' characters :;/. bla bla ..."
Run Code Online (Sandbox Code Playgroud)
为了可读性,我想把它分成多行。我很简单还没有找到一种方法来做到这一点。如果字符串没有用双引号括起来,我可以使用\分割线。如果我不关心添加换行符,我可以使用""". 但我确实关心这些事情。
我研究了非正式的 HOCON 规范,但仍未找到解决方案。
(由于 HOCON 类似于 JSON(我对此一无所知),因此我也将这个问题标记为“JSON”。)
您可以使用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}
}
}
Run Code Online (Sandbox Code Playgroud)
解决后产生:
url = "jdbc:postgresql://db-server:5432/postgres?ssl=true&user=postgres&password=postgres"
Run Code Online (Sandbox Code Playgroud)