Java .properties から JSON への変換

Java の .properties ファイルを Properties.load の規則に沿って JSON に変換します。コメント、= : スペース区切り、行継続、\uXXXX エスケープ、入れ子に対応。無料です。

すべてブラウザ内で実行されます。データがアップロードされることはありません。

関連ツール

すべて表示

Properties から JSONとは?

Spring Boot の application.properties やメッセージバンドルなど、Java の .properties ファイルを貼り付けると、JSON が得られます。キーはフラットなまま("app.name")にも、ドットでオブジェクトに入れ子にすることもできます。

Properties から JSONの使い方

  1. .properties の入力欄 に .properties を貼り付けるか、サンプルを読み込む や ファイルを開く を使います。
  2. ドット区切りのキーをネストしたオブジェクトにする を切り替え、JSON の インデント を選びます。
  3. JSON の出力は入力に合わせて更新されます。コピー または ダウンロード を使います。

例

入力
app.name = My App
app.port: 8080
出力
{
  "app.name": "My App",
  "app.port": "8080"
}

Properties から JSONを使うべき場面

Java の設定や i18n バンドルを調べたり、移行したり、差分を取ったりするときに使います。${server.port} のような Spring のプレースホルダーや、プロファイル別のファイルは解決しません。

Properties から JSONの仕組み

パーサーは java.util.Properties.load に従います。# または ! で始まる行はコメントで、バックスラッシュが奇数個で終わる行は次の行に続き(先頭の空白は削除されます)、キーはエスケープされていない最初の =、:、空白で終わります。\t、\n、\r、\f、\uXXXX のエスケープはデコードされ、それ以外のエスケープされた文字はその文字自身を表します。重複したキーは後のものが優先されます。入れ子にするとき、既存の値と衝突するキー(例:a=1 と a.b=2)は何も失われないようフラットなまま残ります。Java と同様に、すべての値は文字列です。

一般的な使用例

  • application.properties を JSON や YAML にしやすい構造に変換する
  • Java のメッセージバンドルを JavaScript の i18n ライブラリ用の JSON にする
  • 2 つの properties ファイルを JSON として比較する
  • 古い ISO-8859-1 のバンドルの \u エスケープをデコードする

よくある質問

数値は変換されますか?

いいえ。Java の properties は常に文字列なので、値は「8080」のような文字列のままです。

行継続はどう扱われますか?

行末のバックスラッシュで次の行がつながり、その行の先頭のスペースは、Java と同じように削除されます。

入れ子にして衝突した場合はどうなりますか?

a と a.b の両方がある場合、a.b は a を上書きせず、フラットなキーのまま残ります。

おすすめの次のステップ

他のカテゴリを見る