拆分HOCON文件中的一行

时间:2014-11-21 09:03:54

标签: json hocon

我有HOCON格式的文件,其中一个非常长的字符串被分配给一个键。该字符串包含单引号(和其他“非法”字符),因此我需要将值括在双引号中。像这样:

key="extremely long string with 'illegal' characters :;/. bla bla ..."

为了便于阅读,我想将其拆分为多行。我很简单没有办法做到这一点。如果字符串没有用双引号括起来,我可以使用\来分割行。如果我不关心添加换行符,我可以使用"""。但我关心这些事情。

我研究了informal HOCON specs,但仍未找到解决方案。

(由于HOCON类似于JSON(我对此一无所知),我也用“JSON”标记了这个问题。)

2 个答案:

答案 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}