[PowerShell 7] ConvertFrom-Json を使用して JSON データを読み込む

PowerShell Core PowerShell
PowerShell Core

前回の記事「ConvertTo-Json を使用して JSON データを作成する」では、連想配列(ハッシュ)から、JSON データを作成したり、JSON ファイルを生成したりする方法について説明をしました。

今回は、ConvertFrom-Json コマンドレットを使用した、JSON データ読み込み、JSON ファイルの読み込み、読み込みデータの参照方法について説明します。

ConvertFrom-Json の書式

はじめに ConvertFrom-Json の書式を確認しましょう。

ConvertFrom-Json [-InputObject] <string> [-AsHashtable] [-Depth <int>] 
  [-NoEnumerate] [<CommonParameters>]

JSON データの読み込み

まずは、以下のように入力して JSON 形式のデータを変数 $json に代入をしておきます。

$json = '{
 "Name": "HIRO",
 "Birthday": "1972/6/19",
 "Age": 47
}'

この $json を読み込むには以下のようにします。

ConvertFrom-Json $json

以下に実行結果を示します。

実行結果

実行結果

JSON データの参照(通常読み込み)

続いて、ConvertFrom-Json を使用して取得したデータを、以下のようにして変数に代入をしてみましょう。

$data = ConvertFrom-Json $json

変数に代入したデータは、以下のようにキー名を指定して参照をすることができます。

PS > $data.Name
HIRO
PS > $data.Age
47
PS > $data.Birthday
1972/6/19

JSON データの参照(HassTabel 読み込み)

ConvertFrom-Json には -AsHashtable というパラメータがあります。このパラメータを使用した場合は、ハッシュテーブルとして読み込みを行います。

$data = ConvertFrom-Json $json -AsHashtable

ハッシュテーブルとして読み込んだデータは、「変数名[キー名]」のようにしてデータを参照することができます。

PS > $data["Name"]
HIRO
PS > $data["Age"]
47
PS > $data["Birthday"]
1972/6/19

JSON ファイルの読み込み

はじめに Get-Content コマンドレットでファイルを読み込み、その結果をパイプを使用して ConvertFrom-Json コマンドレットに渡します。

Get-Content -Path "/Users/hiroki/Desktop/Sample.json" | ConvertFrom-Json

まとめ

ConvertForm-Json コマンドレットを使用して、JSON データの読み込みや 読み込んだデータの参照方法、ファイルからの読み込み方法などを理解いただけたかと思います。

ConvertTo-Json や ConvertFrom-Json コマンドレットを使いこなして、是非 JSON データの有効活用してください。

コメント

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