無料JSONをShell/Bash変数に変換
JSONをShell/Bash変数宣言に即時変換 — 無料、ブラウザのみ、データ送信なし。
JSON入力
Shell/Bash出力
JSONをShell/Bashとは?
JSONの設定ファイルがあって、bashスクリプトからその値を使いたい — どうすればいい?キーと値のペアをexport文に手動でコピーするのは面倒でミスが起きやすい。このツールはJSONを受け取り、直接sourceできるシェル変数宣言を生成します。Bashスクリプト、GitHub ActionsのようなCI/CDパイプライン、Dockerエントリポイントはすべて単一のenvファイルをsourceすることで恩恵を受けます。JSON仕様が入力フォーマットを定義し、POSIXシェル構文が出力を規定します。実行時の動的JSONパースにはjqが適切なツールです。
変換はブラウザで実行されます。設定で変数プレフィックスを設定してください。サーバーには送信されません。実行時に動的JSONをパースするにはjqを使用してください。
使い方
JSONを貼り付けまたはアップロード
JSONを貼り付けるかファイルをアップロードしてください。設定で変数プレフィックスを設定してください。
Shell出力を確認
右パネルに生成されたシェル変数代入が表示されます。スクリプト内で動的JSONをパースするにはjqを使用してください。
コピーまたはダウンロード
コピーまたはダウンロードでコードを取得してください。先にJSONをフォーマットするにはJSONフォーマッターを、検証にはJSONバリデーターを使用してください。
JSONをShellの例
JSONオブジェクトからシェル変数を生成する例です。
例:加入者レコード
JSON入力:
生成されたShell出力:
JSONをShellが役立つ場面
デプロイスクリプト、CI/CDパイプライン、自動化でJSONから設定値が必要な場合、シェル変数に変換すると出力をsourceしてスクリプト内で$VARを使用できます。APIレスポンスや動的JSONには実行時にjqを使用してください。WindowsにはJSONをPowerShellを使用してください。
よくある質問
この出力でBashとPOSIXシェルの違いは?
生成された出力はBashとPOSIX shの両方で動作するVAR="値"の代入を使用します。連想配列(declare -A)にはBash 4+が必要です。macOSはデフォルトでBash 3を搭載しています。最大の移植性にはjqを使用してください。
jqとこのツール、どちらを使うべき?
JSONが動的ソース(APIコール、パイプライン出力、実行時に変わるファイル)から来る場合はjqを使用してください。設定ファイルやフィクスチャなど静的JSONを一度変換してスクリプト内でsourceしたい場合はこのツールを使用してください。
GitHub Actionsで出力を直接使える?
はい。GitHub Actionsランナーはbashを使用します。出力を$GITHUB_ENVにパイプするか、runステップでsourceできます。ステップ出力からJSONをパースする場合は、fromJson()またはjqがより柔軟です。
ここにJSONを貼り付けても安全?
完全に安全です。すべてJavaScriptを使ってブラウザ内で実行されます — どのサーバーにも送信されません。ブラウザのネットワークタブを開いて確認できます。アカウント不要。
引用符や改行などの特殊文字はどうなる?
スペース、ダブルクォート、特殊文字を含む値はシングルクォートで囲まれるかエスケープされます。出力を確認し、対象のシェル環境でテストしてください。