前回JSON形式をPowersehllのPSCustomObject
に変換するサンプルを試しました。今回は相互に変換してみたいと思います。
<#
.SYNOPSIS
JSON形式で保存サンプルスクリプト
<CommonParameters> はサポートしていません
.LINK
http://maywork.net/
#>
$local = "./json.txt"
$data = @(
[PSCustomObject]@{
'Name' = 'a'
'Value' = 1
},
[PSCustomObject]@{
'Name' = 'b'
'Value' = 2
},
[PSCustomObject]@{
'Name' = 'c'
'Value' = 3
}
)
$data | ConvertTo-Json | Set-Content -LiteralPath $local -Encoding UTF8
$jsonData = Get-Content -LiteralPath $local -Encoding UTF8 | ConvertFrom-Json
$jsonData
結果
連想配列をPSCustomObjectに変換した複数の配列をConvertTo-JsonでJSON形式に変換し、テキストファイルに保存しました。その後そのテキストファイルを読み込みConvertFrom-Jsonを実行したところ元の姿に戻りました。
JSONの使い方としてこれで正しいかは何とも言えませんが、Powershellスクリプトでデータを保存する形式としても、かなり使い勝手が良さそうです。
コメント