PowerShell Test-Jsonで設定JSONを変更前に検査する

PowerShellカテゴリを表すパンダのイラスト PowerShell

この記事について
この記事は、生成AIを活用した自動生成フローで作成しています。PowerShellのTest-Jsonの公式仕様を確認し、設定ファイルを使う前に構文を読み取り専用で検査する最小例にしました。

検証ステータス:📘 Microsoft公式仕様確認済み・PowerShell実機未確認

JSON設定は、アプリへ読み込ませて失敗する前に Test-Json で検査できます。まずは本番ファイルを触らず、文字列だけで挙動を見ます。

まず試す

$good = '{"name":"papanda","enabled":true}'
$bad  = '{"name":"papanda","enabled":true'

$good | Test-Json
$bad  | Test-Json

見るのはTrue/Falseとエラーです。正しいJSONと、閉じ波括弧を1つ消したJSONで差が出ることを確認します。

1か所変えてみる

true を文字列の "true" に変えてください。JSONとしてはどちらも成立するため、単なる構文検査だけでは「型が期待どおりか」までは保証できないことが分かります。

構文確認と仕様確認は別

Test-Json はJSONとして読めるかの確認に使え、Schemaを与えれば構造の検証もできます。設定投入前チェックでは、まず構文、次に必須キーや型、最後にアプリ固有の意味という順で分けると原因を切り分けやすくなります。

ファイルを確認する

Get-Content -LiteralPath .\settings.json -Raw | Test-Json

この操作は読み取り専用です。検査スクリプトの段階では、失敗したJSONを自動修正して上書きしない方が安全です。

仕事で使うなら

API設定、VS Code設定、社内ツールのJSON、AIへ渡す構造化データなどを配布前に確認できます。CIへ入れる場合はFalseや例外を成功扱いせず、後続の配布処理を止める設計にします。

公式情報・一次情報

文書情報

記事タイトル
PowerShell Test-Jsonで設定JSONを変更前に検査する
作成日
更新日
Source URL
https://papanda925.com/?p=15988

ライセンス: 本記事のうち、当サイトが権利を有する本文・自作図表は、特記なき限り CC BY 4.0 で利用できます。生成AIを活用して作成・編集した内容を含みます。コードについて、別途ライセンス表示またはリンク先GitHubリポジトリのライセンスがある場合は、その条件を優先します。引用・第三者資料・画像・商標等は本ライセンスの対象外です。 利用ポリシー

タイトルとURLをコピーしました