Properties to JSON コンバーター
Java の .properties ファイルを JSON に変換し、JSON を .properties に戻す変換をブラウザ内で実行します。設定情報が端末の外に出ることはありません。
Java Properties ↔ JSON はすべてブラウザ内で処理されます。貼り付けた .properties ファイルや JSON が端末の外に出ることはなく、ArrayKit にアップロードされることもありません。
dotenv to JSON コンバーターを開く
Properties to JSON について
Java Properties ↔ JSON は、Spring や Maven をはじめ多くの JVM アプリケーションが使う key=value 形式の設定ファイルである Java の .properties ファイルを読み込み、モダンな設定パイプラインに組み込める整った JSON オブジェクトに変換します。空行や '#'・'!' で始まるコメント行はスキップし、バックスラッシュによる行継続を結合し、値の中の \uXXXX や \n \t \\ エスケープをデコードします。「ドット区切りキーを展開」をオンにすると、db.host のようなドット区切りのキーが自動的に db: { host } というネストしたオブジェクトになります。オフにすればドット区切りキーはそのままフラットに保たれます。方向を切り替えれば逆方向にも変換でき、JSON オブジェクトは有効な .properties テキストになり、ネストされたオブジェクトは再びドット区切りキーにフラット化され、特殊文字はエスケープされます。レガシーな properties ファイルと JSON ベースのツール間で設定を移行する Java・Spring 開発者向けに作られています。すべての処理はローカルで完結し、設定情報がブラウザの外に出ることはありません。
機能
- Java の .properties ファイルを一度の貼り付けで JSON オブジェクトに変換
- JSON オブジェクトを有効な .properties テキストに変換し直す
- db.host のようなドット区切りキーをネストした JSON オブジェクトに展開
- ネストをオフにしてドット区切りキーをフラットなまま保持
- 空行と '#' または '!' で始まるコメント行をスキップ
- 複数行にまたがるバックスラッシュの行継続を結合
- 値の中の \uXXXX ユニコードエスケープと \n \t \\ をデコード
- 設定情報をアップロードせず、すべてブラウザ内で完結
Properties to JSON の使い方
- 「Properties → JSON」を選択したまま .properties ファイルを貼り付ける
- 必要に応じて「ドット区切りキーを展開(ネスト)」をオン・オフする
- JSON の出力をコピーするか、config.json としてダウンロードする
- 「JSON → Properties」に切り替えて逆方向に変換する
例
入力
db.host=localhost
db.port=5432
出力
{
"db": {
"host": "localhost",
"port": "5432"
}
}
ネストがオンの場合、db.host のようなドット区切りキーはネストした db オブジェクトに展開されます。
よくあるエラーとトラブルシューティング
- db.host のようなドット区切りキーが JSON でネストされず、フラットのままになる。 — 「ドット区切りキーを展開(ネスト)」をオンにすると '.' で区切られたキーがネストしたオブジェクトになります。1行につき1つのフラットなキーにしたい場合はオフのままにしてください。
- 「JSON → Properties」で JSON はオブジェクトである必要があると表示される。 — .properties ファイルはキーと値のペアの集合なので、入力は最上位が単一の JSON オブジェクトである必要があります。配列や単独の文字列・数値は使えません。
- .properties ファイル内の複数行にわたる値が途中で切れてしまう。 — 最初の行をエスケープされていない単一のバックスラッシュで終えると、Java の Properties.load と同様に、コンバーターがそれを次の行と結合して1つの論理的な値にします。
- 変換後にアクセント文字や非ラテン文字が正しく表示されない。 — properties ファイルでは伝統的に非 ASCII テキストを \uXXXX エスケープで表します。コンバーターは自動的にこれをデコードするので、すでにデコード済みのコピーではなく、元のエスケープされた .properties テキストを貼り付けてください。
よくある質問
- Java Properties ↔ JSON コンバーターはドット区切りキーをどう扱いますか?
- 「ドット区切りキーを展開(ネスト)」がオンの場合、db.host=localhost のようなキーは { "db": { "host": "localhost" } } になります。オフにすると、"db.host" という文字どおりのキーを1つのフラットなプロパティとして保持します。
- Properties to JSON コンバーターは \uXXXX ユニコードエスケープに対応していますか?
- はい。\uXXXX シーケンス(Java の Properties 形式が非 ASCII テキストを表す標準的な方法)を含む値は実際の文字にデコードされ、\n、\t、\\ のエスケープも同様に処理されます。
- .properties ファイルで '=' の代わりに ':' や空白を使えますか?
- はい。パーサーは key=value、key:value、key value(空白区切り)のすべてに対応しています。これは Java の Properties.load() が3種類の区切り記号を読み取れるのと同じです。
- JSON to Properties はネストした JSON オブジェクトをどう処理しますか?
- ネストしたオブジェクトはドット区切りキーにフラット化されるので、{ "db": { "host": "x" } } は db.host=x になります。配列やその他のオブジェクトでない値は、その文字列表現に変換されます。
- このツールは .properties ファイルのコメントを無視しますか?
- はい。'#' または '!' で始まる行はコメントとして扱われ、スキップされます。これは Java の Properties 形式が認識する2種類のコメントマーカーそのものです。
- .properties ファイルや JSON の設定はどこかにアップロードされますか?
- いいえ。Java Properties ↔ JSON はすべてブラウザ内で処理されます。貼り付けた .properties テキストや JSON が端末の外に出ることはなく、ArrayKit やその他のサーバーに送信されることもありません。
関連ツール
すべての ArrayKit ツール