PowerShellのJSONのファイルを読み込む/出力するサンプルです。
目次
サンプル | JSONのファイルを読み込む |
JSONのファイルに書き込む |
JSONのファイルを読み込む
読み込み対象のJSONファイルです。ファイル名はtest1.jsonです。
{
"id": "1",
"name": "suzuki",
"hobby": [
"fishing",
"swimming"
]
}
4行目は配列です。
JSONファイルを読み込み、値をWrite-Hostで表示します。
ConvertFrom-Json |
$jsonData =(Get-Content "d:\test1\test1.json" | ConvertFrom-Json)
Write-Host ($jsonData.id) # 1
Write-Host ($jsonData.name) # suzuki
Write-Host ($jsonData.hobby[0]) # fishing
Write-Host ($jsonData.hobby[1]) # swimming
Write-Host ($jsonData) #@{id=1;name=suzuki;hobby=System.Object[]}
1行目は、Get-ContentでJsonファイルを読み込み、ConvertFrom-JsonでJSONをオブジェクトに変換します。
JSONのファイルに書き込む
ConvertTo-Json |
クラスのオブジェクトを生成し値をセットしてJSONファイルに書き込みます。
class employee {
[int] $id
[string] $name
setId([int]$id) {
$this.id = $id
}
setName([string]$name) {
$this.name = $name
}
}
$employee = New-Object employee
$employee.setId(1)
$employee.setName('suzuki')
$utf8NoBom = New-Object System.Text.UTF8Encoding $false
[System.IO.File]::WriteAllLines("d:\test1\test2.json",(ConvertTo-Json $employee), $utf8NoBom)
1~11行目は、クラスです。
12行目でオブジェクトを生成し14,15行目は値をセットしています。
17行目は、UTF8のBOM無しの設定です。
19行目は、JSONファイルを作成します。
関連の記事