PowerShellでJSONファイルを読み込むサンプルコード(レコードのようなJSONファイル編)

PowerShell
記事内に広告が含まれています。

PowerShellで同じ定義が続くレコードのようなJSONファイルを読み込むサンプルコードを紹介します。

ファイル構成

jsonファイルとpowershellファイル(ps1)は同じディレクトリに格納しています。

ソースコード

コマンドを叩くと、JSONファイルを読み込んで全部出力します。

今回は2パターンのforeach文でidとnameを出力します。

コマンド

powershell -ExecutionPolicy RemoteSigned -File "ReadJson_multi.ps1"

ReadJson_multi.ps1

# JSONファイルの読み込み
$jsonContent = Get-Content -Path "json_multi.json" -Raw
$jsonObj = ConvertFrom-Json $jsonContent

# 繰り返し処理 1 
$jsonObj | ForEach-Object { Write-Host $_.id }

# 繰り返し処理 2
foreach($person in $jsonObj){
    Write-Host $person.name
}

json_multi.json(JSONファイル)

[{
    "id":1,
    "name":"Suzuki Taro",
    "age":105,
    "city":"Tokyo"
},
{
    "id":2,
    "name":"Yamada Hanako",
    "age":22,
    "city":"Sapporo"
},
{
    "id":3,
    "name":"Shimada Jiro",
    "age":55,
    "city":"Maebashi"
},
{
    "id":4,
    "name":"Kihara Maruko",
    "age":30,
    "city":"Hakata"
}]

テスト実行

Windows PowerShellのターミナルから、上記のReadJson.ps1を実行するコマンドを打ちます。

idとnameが全て出力されました。

参考情報

環境

下記の環境で作成・実行しております。

No.環境バージョン
1OSWindows11
2PowerShell5.1
環境一覧

以上です。