PowershellでJSON形式を扱うサンプル2「JSONxPSCustomObject」

PoweShell コンピュータ
PowerShell

前回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スクリプトでデータを保存する形式としても、かなり使い勝手が良さそうです。

コメント