はじめに
JSON (JavaScript Object Notation) は、データを交換するための軽量なフォーマットであり、その読みやすさとシンプルさから、Web開発をはじめとする多くの分野で広く使われています。PowerShellは、Windowsを中心としたシステム管理や自動化スクリプトの作成に強力な機能を提供するシェル環境です。この記事では、PowerShellを使ってJSONデータを簡単に読み込み、加工、そして出力する方法を紹介します。
JSONデータの読み込み
PowerShellでJSONデータを扱う最も基本的な方法は、ConvertFrom-Json
コマンドレットを使用することです。これにより、JSON形式の文字列をPowerShellのオブジェクトに変換できます。
例えば、次のようなJSONデータがあるとします。
{ "name": "Taro", "age": 30, "skills": ["PowerShell", "Python", "Docker"] }
このJSONを読み込むには、まずこのJSONデータをファイルまたは文字列としてPowerShellに渡し、ConvertFrom-Json
コマンドレットを使います。
$jsonString = Get-Content -Path 'path/to/your/jsonfile.json' -Raw $jsonObject = $jsonString | ConvertFrom-Json
JSONデータの加工
読み込んだJSONデータは、PowerShellのオブジェクトとして扱うことができます。これにより、プロパティの追加、削除、更新などの操作が可能になります。
例えば、先ほどのJSONオブジェクトに新しいスキルを追加するには、次のようにします。
$jsonObject.skills += "SQL"
JSONデータの出力
加工したオブジェクトを再びJSON形式で保存したい場合は、ConvertTo-Json
コマンドレットを使用します。これにより、PowerShellオブジェクトをJSON文字列に変換できます。
$jsonString = $jsonObject | ConvertTo-Json $jsonString | Set-Content -Path 'path/to/your/outputfile.json'
高度なJSON処理
PowerShellでは、ConvertFrom-Json
と ConvertTo-Json
以外にも、Invoke-RestMethod
コマンドレットを使用してWeb APIから直接JSONデータを取得したり、Select-Object
コマンドレットでデータの抽出や変換を行ったりすることができます。
まとめ
PowerShellを使用してJSONデータを簡単に読み込み、加工、出力する方法を紹介しました。これらの基本的な操作をマスターすることで、日々の業務や自動化スクリプトの中でJSONデータを扱う際の幅が広がります。