set setting reset

インフラ関連の小ネタと備忘録

powershell の連想配列を JSON に変換する

ハッシュを作成します。 @{"Key" = "Value"; } の形式です。

$Members = @{
  "id" = 1;
  "Name" = "hoge";
}

PSObject を生成します

$MessageObject = New-Object -TypeName PSObject

PSObject にメンバーを追加します

foreach ($key in $Members.Keys) {
    Add-Member -InputObject $MessageObject -MemberType NoteProperty -Name $key -Value $Members[$key]
}

JSON にコンバートします

$MessageJson = ConvertTo-Json -Compress $MessageObject

みてみます。

> $MessageJson
{"id":1,"Name":"hoge"}

簡単ですね!

PowerShell再入門:11. PSObjectとは | $m0t0k1x2["code"].content
PowerShell で JSON をファイル入出力 する - tech.guitarrapc.cóm
PowerShell連想配列(ハッシュ) CapmNetwork