[登録されているタグ]

[記事公開日]2025/12/20

PowerShellでJSONを読み込む|ConvertFrom-Jsonの使い方

📝 はじめに

PowerShellでAPI連携や設定ファイルを扱っていると、
JSON形式のデータを読み込む場面がよくあります。
「JSONファイルの中身を確認したい」
「JSONをPowerShellで扱いやすい形にしたい」
そんなときの基本となるのが
ConvertFrom-Json です。

この記事では、JSONをPowerShellオブジェクトとして読み込む基本から、
実務でつまずきやすいポイントまでを順を追って解説します。

こんな場面で便利

  • JSON形式の設定ファイルを読み込みたい
  • APIのレスポンス(JSON)を解析したい
  • JSONの中身を条件で抽出・加工したい

✅ このコマンドでできること(要点)

  • JSON文字列をPowerShellオブジェクトに変換できる
  • ネスト(入れ子)構造のJSONも扱える
  • 配列形式のJSONをそのまま処理できる
  • Where-ObjectSelect-Object と組み合わせられる

✅ ConvertFrom-Json でできること

ConvertFrom-Json は、
JSON形式の文字列を
PowerShellのオブジェクトに変換するコマンドです。

変換後は、$obj.name のように
プロパティとして値を参照できるため、
JSONを「データ」として直感的に扱えるようになります。

🧩 基本構文

"{ 'name':'taro', 'age':20 }" | ConvertFrom-Json

JSON文字列をパイプで渡すのが基本形です。

▶ 基本的な使い方(まずこれだけ)

🔹 JSON文字列をオブジェクトに変換する

$json = '{ "name": "taro", "age": 20 }'
$obj = $json | ConvertFrom-Json
$obj.name
$obj.age

プロパティとして値が取得できれば成功です。

🔹 JSONファイルを読み込む

Get-Content ".\config.json" -Raw | ConvertFrom-Json
補足

JSONファイルは複数行になっていることが多いため、
-Raw を付けて
1つの文字列として読み込むのが安定します。

🛠 よく使われる指定例

🔹 配列形式のJSONを扱う

$json = '[{"name":"a"},{"name":"b"}]'
$items = $json | ConvertFrom-Json
$items[0].name

複数要素がある場合は配列として扱われます。

🔹 ネスト(入れ子)構造を辿る

$json = '{ "user": { "name": "taro", "role": "admin" } }'
$obj = $json | ConvertFrom-Json
$obj.user.name

💼 実務でよく使う使用例(応用)

🔹 JSONから条件に合うデータだけ抽出

$data = Get-Content ".\data.json" -Raw | ConvertFrom-Json
$data | Where-Object status -eq "ok"

🔹 APIレスポンスを処理する

$res = Invoke-RestMethod "https://example.com/api"
$res | Select-Object -First 5
組み合わせ例

  • Get-Content -Raw:JSONファイルを読み込む
  • Where-Object:条件で抽出
  • Select-Object:必要な項目だけ表示

🧩 よくある勘違い・つまずきポイント

  • JSONをそのまま Get-Content しただけでは変換できないことがある
  • -Raw を付け忘れるとエラーになる場合がある
  • 配列と単一オブジェクトで扱い方が変わる
  • キー名はそのままプロパティ名になる
  • JSONが不正な形式だと変換できない

⚠ エラー・うまく動かないときの確認ポイント

  • JSONの構文が正しいか(カンマや括弧の不足)
  • ファイル読み込み時に -Raw を付けているか
  • 文字コードの影響で記号が崩れていないか
  • すでにオブジェクトになっているデータを二重変換していないか

🧠 注意点

JSONの構造が複雑な場合、
いきなり処理を書かずに
Select-Object -First
Get-Member
形を確認してから進めると安全です。

📌 まとめ

  • ConvertFrom-Json はJSONをオブジェクトに変換する
  • JSONファイルは Get-Content -Raw と組み合わせる
  • ネストや配列もそのまま扱える
  • 次は ConvertTo-Json とセットで覚えると便利

🔎 PowerShellコマンドを探す

  • ファイルを削除したい
  • 一覧を表示したい
  • 文字列を検索したい
  • 条件で絞り込みたい
  • エラーや実行できない原因を調べたい
  • JSONを読み込みたい
  • JSONを書き出したい(ConvertTo-Json)
  • APIレスポンスを扱いたい
Generic filters

サイト内検索(入力すると候補が出ます)

Generic filters


Generic filters

Generic filters

すべてを開く | すべてを閉じる
ページ上部へ戻る