スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

typesafe Config で自動コメント無しに中身を出力したいとき

typesafe Config で中身を出力で読み取った情報は、render()で表示できるけど、コメントが自動でついてしまう。
コメントを消したい場合は、ConfigRenderOptionsを使えばよい。

何も設定しない場合


■読み込ませたコンフィグ
a {
#test
b.1{
c=1 ,
e=2
}
b.2{
d=2
}
}


■ソース

object Test1 extends App{
val conf = ConfigFactory.parseFile(new File("C:/temp/application.conf"))
println(conf.root().render())
}


■出力
{
# C:/temp/application.conf: 1
"a" : {
# C:/temp/application.conf: 3-7
"b" : {
# C:/temp/application.conf: 3
# test
"1" : {
# C:/temp/application.conf: 4
"c" : 1,
# C:/temp/application.conf: 5
"e" : 2
},
# C:/temp/application.conf: 7
"2" : {
# C:/temp/application.conf: 8
"d" : 2
}
}
}
}


自動で付くコメント消す場合


■ソース
 ConfigRenderOptionsでOriginCommentsをfalseにする。

object Test1 extends App{
val conf = ConfigFactory.parseFile(new File("C:/temp/application.conf"))
val option = ConfigRenderOptions.defaults().setOriginComments(false);
println(conf.root().render())
}


■出力
{
"a" : {
"b" : {
# test
"1" : {
"c" : 1,
"e" : 2
},
"2" : {
"d" : 2
}
}
}
}


HOCON拡張ありにする場合


もう少し元の形に近づけるなら、setJson(HOCON拡張の使用有無)もfalseにする。

object Test1 extends App{
val conf = ConfigFactory.parseFile(new File("C:/temp/application.conf"))
val option = ConfigRenderOptions.defaults().setOriginComments(false).setJson(false);
println(conf.root().render())
}


■出力

a {
b {
# test
"1" {
c=1
e=2
}
"2" {
d=2
}
}
}


補足


 ConfigRenderOptionsは他に、
 ・自分で書いたコメントの表示・非表示 setComments
 ・フォーマットするか否か       setFormatted
の設定も可能。

詳細はJavaDoc参照
http://typesafehub.github.io/config/latest/api/com/typesafe/config/ConfigRenderOptions.html



以上。
スポンサーサイト

テーマ : ソフトウェア開発
ジャンル : コンピュータ

コメントの投稿

管理者にだけ表示を許可する

検索フォーム
プロフィール

takuan93

Author:takuan93
本ブログの説明書→「ReadMe」

管理者に連絡

カテゴリ
WiX (5)
Ant (1)
フリーエリア
最新記事
カウンター
カレンダー
06 | 2018/07 | 08
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。