.properties to JSON 変換ツール
ロスレス解析・ネストしたキー・コメント保持に対応した Java .properties → JSON 変換。処理はブラウザ内で完結。
Java の .properties ファイルを貼り付けるだけで、ブラウザ上で即座に JSON に変換します。app.cache.ttl のようなドット区切りのキーはデフォルトでネストしたオブジェクトになり、数値や真偽値らしい値は実際の JSON 型に推論され、コメント行は $comments フィールドとして保持されるため、元ファイルに書かれていた説明が失われることはありません。内部のパーサーはロスレスで、コメント・空行・キーの順序は Java 自身の java.util.Properties が読み込んだ結果と完全に一致します。
Properties to JSON 変換ツールについて
Java の .properties 形式(key=value、key:value、あるいは key value のいずれかで、コメントは # または !)は、初期の java.util.Properties API 以来、標準的な設定ファイルおよび i18n リソースバンドルのフォーマットとして使われてきました。このツールは、末尾のバックスラッシュによる行継続や \uXXXX 形式の Unicode エスケープを含め、JVM と同じルールでこの形式を解析し、確認・比較したり JavaScript のビルドパイプラインに渡したりできる JSON を生成します。ドットキーのネスト化を有効にすると app.cache.ttl=60 は { "app": { "cache": { "ttl": 60 } } } になり、型推論は "false" のような文字列を実際の真偽値に変換し、コメント処理は各プロパティを説明する # 行を $comments フィールドとして残すかどうかを制御します。
こちらも必要かもしれません
Java の .properties ファイルを貼り付けるだけで、ブラウザ上で即座に JSON に変換します。app.cache.ttl のようなドット区切りのキーはデフォルトでネストしたオブジェクトになり、数値や真偽値らしい値は実際の JSON 型に推論され、コメント行は $comments フィールドとして保持されるため、元ファイルに書かれていた説明が失われることはありません。内部のパーサーはロスレスで、コメント・空行・キーの順序は Java 自身の java.util.Properties が読み込んだ結果と完全に一致します。
.properties を JSON に変換する方法
- 1
.properties の内容を貼り付け
.properties ファイルの内容を入力欄にコピーするか、フラスコアイコンをクリックしてコメントとドットキーを含むサンプルを読み込みます。
- 2
必要に応じて詳細オプションを調整
詳細オプションを開くと、型推論、ドットキーのネスト化(および区切り文字)、コメントを $comments として保持するか無視するかを切り替えられます。
- 3
Convert をクリック
ロスレスパーサーがプロパティ・コメント・空行をファイル内の順序どおりに読み取り、JSON オブジェクトを生成します。以降オプションを切り替えると即座に再計算されます。
- 4
JSON をコピーまたはダウンロード
JSON をコピーするか、.json ファイルとしてダウンロードします。方向切り替えアイコンから逆方向の変換である JSON to Properties に移動できます。
参考資料
- Java SE — java.util.Properties
コメント構文、区切り文字、行継続のルールなど、このパーサーが従う .properties ファイル形式を定義する公式 Java API ドキュメント。
- RFC 8259 — The JSON Data Interchange Format
このツールが生成する JSON 形式の元になっている IETF 仕様。
関連する開発者ツール
Properties to JSON よくある質問
- Java の .properties ファイルをオンラインで JSON に変換するには?
- .properties ファイルの内容を入力欄に貼り付け、「Convert」をクリックします。各 key=value 行が JSON フィールドになり、ドットキーはデフォルトでネストされます。結果をコピーするか、.json ファイルとしてダウンロードできます。
- このツールは Java の Properties ファイル形式に厳密に従っていますか?
- はい。解析ルールは java.util.Properties と同じです。キーと値は =、:、または空白で区切ることができ、コメントは # または ! で始まり、複数行の値は末尾のバックスラッシュで継続できます。
- .properties ファイルはサーバーにアップロードされますか?
- されません。すべての解析は JavaScript によりブラウザ内でローカルに行われ、ネットワーク経由で何も送信されません。内部のホスト名や認証情報を含む properties ファイルにとって、この点は重要です。
- ドット区切りの .properties キーをネストした JSON オブジェクトに変換できますか?
- できます。「Dotted keys → nested」を有効にすると(デフォルトの区切り文字は「.」)、server.port=8080 のようなキーは { "server": { "port": 8080 } } になります。無効にすると、フラットなドットキーが単一の JSON フィールドとして保持されます。
- .properties を JSON に変換してもコメントは保持されますか?
- デフォルトでは保持されます。コメント行は直前のプロパティに紐づけられ、出力の $comments フィールドとして残ります。値だけのすっきりした JSON が欲しい場合は、詳細オプションで「Comments」を「Ignore」に切り替えてください。
- .properties の真偽値や数値はどのように扱われますか?
- 「Infer types」がオンの場合、true、false、あるいは 1.2.3 のようなバージョン番号風の数値らしい値は、妥当な範囲で JSON の真偽値・数値に変換されます。「Infer types」をオフにすると、すべての値が .properties の生テキストどおり文字列として保持されます。
- .properties と JSON にはどんな違いがありますか?
- Java の .properties は行志向のキーと値のテキストで、アプリケーション設定や i18n リソースバンドルに使われます。一方 JSON はネスト構造と型付きの値をネイティブにサポートします。変換することで、properties ファイルを構造化データとして比較したり、JSON を期待する JavaScript/TypeScript ツールチェーンに取り込んだりできます。