この記事について
この記事は、生成AIを活用した自動生成フローで作成しています。PowerShellのJSON変換仕様を確認し、ダミーJSONをオブジェクトへ変換して型と値を観察する最小例に整理しています。
検証ステータス:📘 Microsoft公式仕様確認済み・PowerShell実機未確認
JSONをPowerShellで扱うときは、文字列の見た目ではなく ConvertFrom-Json 後のオブジェクト構造を見ると理解しやすくなります。
まず試す
$json = '{"name":"papanda","settings":{"retry":3,"enabled":true}}'
$obj = $json | ConvertFrom-Json
$obj
$obj.settings.retry
$obj.settings.enabled.GetType().FullName
retry が数値として、enabled がBooleanとして扱われる点を見ます。
1か所変えてみる
"retry":3 を "retry":"3" に変えます。表示は似ていても型が変わります。
$obj.settings.retry.GetType().FullName
なぜ重要か
APIや設定ファイルでは 3 と "3" は別物です。比較、加算、検証処理で意図しない結果になるため、値だけでなく型も確認する癖が役立ちます。
仕事で使うなら
Graph APIのレスポンス、設定バックアップ、CI/CDのJSONを調べるときは、まず対象プロパティと型を表示してから加工します。巨大JSONをいきなり更新せず、読み取り専用で構造を確認してください。
再利用版では、port を数値から文字列へ切り替えるパラメータ、全プロパティの型一覧、期待型と違う場合の [FAILED] 表示まで追加しています。記事の短い例で型の違いを理解したあと、実務に近いチェックへ進めます。
まとめ
JSONは文字列として眺めるよりPowerShellオブジェクトへ変換し、値と型を観察すると事故を減らせます。1値だけ文字列へ変え、処理上の違いを確認してみてください。
公式情報
- Microsoft Learn: ConvertFrom-Json
