PowerShell で JSON ファイルを読み取る
Aamir Khan
2024年2月15日
-
Get-Content
を使用して、PowerShell で JSON を文字列として読み取る -
ConvertFrom-Json
を使用して、PowerShell で JSON をカスタム オブジェクトとして読み取る -
Invoke-WebRequest
を使用して、PowerShell で Web から JSON を読み取る
このチュートリアルでは、PowerShell で JSON ファイルを読み取る方法を示します。
Get-Content
を使用して、PowerShell で JSON を文字列として読み取る
Get-Content
コマンドは、アイテムのコンテンツを読み取る PowerShell コマンドです。 このコマンドは、アイテムの場所を指定する Path
パラメータを取ります。 コンテンツは通常、テキスト データです。
JSON 形式の文字列もテキスト データです。 このコマンドは、JSON ファイルを読み取り、それを文字列としてシェルに出力できます。
次のコマンドは、JSON ファイルを文字列として読み取ります。
Get-Content “transactions.json”
出力:
[
{
"Date": "19/5/2022",
"ProductId": "0001",
"ProductName": "Fizzy Drink",
"Cost": "2.32",
"Currency": "USD"
},
{
"Date": "16/5/2022",
"ProductId": "0002",
"ProductName": "Dark Chocolate",
"Cost": "6.52",
"Currency": "USD"
},
{
"Date": "10/5/2022",
"ProductId": "0003",
"ProductName": "Snacks",
"Cost": "4.2",
"Currency": "USD"
}
]
ConvertFrom-Json
を使用して、PowerShell で JSON をカスタム オブジェクトとして読み取る
ConvertFrom-Json
は、JSON 形式の文字列を PowerShell カスタム オブジェクトまたは PSCustomObject
に変換する PowerShell コマンドです。 このオブジェクトには、JSON フィールドに対応するすべてのプロパティが含まれています。
次のコマンドは、Get-Content を ConvertFrom-Json
と組み合わせて、JSON を PSCustomObject
として読み取ります。
Get-Content "transactions.json" | ConvertFrom-Json
出力:
Date : 19/5/2022
ProductId : 0001
ProductName : Fizzy Drink
Cost : 2.32
Currency : USD
Date : 16/5/2022
ProductId : 0002
ProductName : Dark Chocolate
Cost : 6.52
Currency : USD
Date : 10/5/2022
ProductId : 0003
ProductName : Snacks
Cost : 4.2
Currency : USD
Invoke-WebRequest
を使用して、PowerShell で Web から JSON を読み取る
JSON は、Web でクライアントとサーバーの通信に一般的に使用されるデータ交換形式です。 クライアントが HTTP/HTTPS 要求をサーバーに送信すると、その結果、サーバーは要求されたデータを JSON として返します。
Invoke-WebRequest
は、指定された URI に HTTP リクエストを送信します。 サーバーはリクエストを受け取り、それに応じて JSON で応答します。
次のコマンドは、Web 要求をサーバーに送信し、ConvertFrom-Json
を使用して JSON を解析します。
Invoke-WebRequest -Uri https://my-json-server.typicode.com/typicode/demo/posts | ConvertFrom-Json
出力:
id title
-- -----
1 Post 1
2 Post 2
3 Post 3