PowerShell/ハッシュからJSON,JSONからPSCustomObjectに変換する方法
の編集
Top
/
PowerShell
/
ハッシュからJSON,JSONからPSCustomObjectに変換する方法
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
(no template pages)
#navi(../) *ハッシュからJSON,JSONからPSCustomObjectに変換する方法 [#iac019d9] PowerShellでハッシュに設定したパラメータをJSON文字列に変換するには、Convert''To''-Json コマンドレット、~ 受け取ったJSON文字列をPowerShellで操作できるようにするには、Convert''From''-Json コマンドレットを使用することで簡単に実現できます。~ 以下、ConvertTo-JsonコマンドレットとConvertFrom-Jsonコマンドレットの使用例を記します。 #contents #htmlinsertpcsp(win-top.html,win-sp.html) * 関連記事 [#w4e43984] -[[PowerShellでwgetやcurlのようにウェブページを取得する方法>PowerShell/wgetやcurlのようにウェブページを取得する]] -[[PowerShellでHTTPのPOSTを実現する方法>PowerShell/HTTPのPOSTをする方法]] -[[PowerShellを利用してハッシュからJSON,JSONからPSCustomObjectに変換する方法>PowerShell/ハッシュからJSON,JSONからPSCustomObjectに変換する方法]] * ハッシュ(パラメータ)からJSON文字列に変換・ConvertTo-Json [#xd3f1698] ConvertTo-JsonコマンドレットによるハッシュからJSON文字列に変換する操作例を以下に記します。 +JSON文字列にしたいパラメータをハッシュテーブルに設定します。 PS C:\> $h2 = @{uid="sakura"; pwd="password"} PS C:\> $h1 = @{domain="just4fun.biz"; user=$h2} +設定したパラメータ(ハッシュテーブル)の値を確認します。 PS C:\> $h1 Name Value ---- ----- user {pwd, uid} domain just4fun.biz +設定したパラメータをConvertTo-Jsonコマンドレットを使用してJSON文字列に変換しています。 PS C:\> $h1 | ConvertTo-Json { "user": { "pwd": "password", "uid": "sakura" }, "domain": "just4fun.biz" } +上記結果を$json変数に格納します。~ 次のJSON文字列からPSCustomObjectへの変換でこの$json変数を使用します。 PS C:\> $json = ($h1 | ConvertTo-Json) 文字列(String)であることが確認できます。 PS C:\> $json.GetType() IsPublic IsSerial Name BaseType -------- -------- ---- -------- True True String System.Object * JSON文字列からPowerShellで簡単に扱えるPSCustomObjectに変換する・ConvertFrom-Json [#w29863cf] 上記で$json変数に設定したJSON文字列を使用します。 +JSON文字列を確認します。 PS C:\> $json { "user": { "pwd": "password", "uid": "sakura" }, "domain": "just4fun.biz" } +ConvertFrom-Jsonコマンドレットを使用して、PowerShellで簡単に扱えるPSCustomObjectに変換しています。 PS C:\> $json | ConvertFrom-Json user domain ---- ------ @{pwd=password; uid=sakura} just4fun.biz +返却されたクラス名を確認してみます。 PS C:\> ($json | ConvertFrom-Json).GetType() IsPublic IsSerial Name BaseType -------- -------- ---- -------- True False PSCustomObject System.Object +$o変数に返却されたPSCustomObjectを代入し、値を参照してみます。 PS C:\> $o = ($json | ConvertFrom-Json) PS C:\> $o user domain ---- ------ @{pwd=password; uid=sakura} just4fun.biz PS C:\> $o.domain just4fun.biz PS C:\> $o.user pwd uid --- --- password sakura PS C:\> $o.user.uid sakura PS C:\> $o.user.pwd password 上記の通り、値を簡単に取り出すことができます。 以上、ConvertFrom-Json, ConvertTo-Jsonコマンドレットを使用して、~ JSON文字列からPowerShellで扱いやすいPSCustomObjectへの変換、ハッシュテーブルからJSON文字列に変換する方法の紹介でした。 #htmlinsertpcsp(win-btm.html,win-sp.html)
タイムスタンプを変更しない
#navi(../) *ハッシュからJSON,JSONからPSCustomObjectに変換する方法 [#iac019d9] PowerShellでハッシュに設定したパラメータをJSON文字列に変換するには、Convert''To''-Json コマンドレット、~ 受け取ったJSON文字列をPowerShellで操作できるようにするには、Convert''From''-Json コマンドレットを使用することで簡単に実現できます。~ 以下、ConvertTo-JsonコマンドレットとConvertFrom-Jsonコマンドレットの使用例を記します。 #contents #htmlinsertpcsp(win-top.html,win-sp.html) * 関連記事 [#w4e43984] -[[PowerShellでwgetやcurlのようにウェブページを取得する方法>PowerShell/wgetやcurlのようにウェブページを取得する]] -[[PowerShellでHTTPのPOSTを実現する方法>PowerShell/HTTPのPOSTをする方法]] -[[PowerShellを利用してハッシュからJSON,JSONからPSCustomObjectに変換する方法>PowerShell/ハッシュからJSON,JSONからPSCustomObjectに変換する方法]] * ハッシュ(パラメータ)からJSON文字列に変換・ConvertTo-Json [#xd3f1698] ConvertTo-JsonコマンドレットによるハッシュからJSON文字列に変換する操作例を以下に記します。 +JSON文字列にしたいパラメータをハッシュテーブルに設定します。 PS C:\> $h2 = @{uid="sakura"; pwd="password"} PS C:\> $h1 = @{domain="just4fun.biz"; user=$h2} +設定したパラメータ(ハッシュテーブル)の値を確認します。 PS C:\> $h1 Name Value ---- ----- user {pwd, uid} domain just4fun.biz +設定したパラメータをConvertTo-Jsonコマンドレットを使用してJSON文字列に変換しています。 PS C:\> $h1 | ConvertTo-Json { "user": { "pwd": "password", "uid": "sakura" }, "domain": "just4fun.biz" } +上記結果を$json変数に格納します。~ 次のJSON文字列からPSCustomObjectへの変換でこの$json変数を使用します。 PS C:\> $json = ($h1 | ConvertTo-Json) 文字列(String)であることが確認できます。 PS C:\> $json.GetType() IsPublic IsSerial Name BaseType -------- -------- ---- -------- True True String System.Object * JSON文字列からPowerShellで簡単に扱えるPSCustomObjectに変換する・ConvertFrom-Json [#w29863cf] 上記で$json変数に設定したJSON文字列を使用します。 +JSON文字列を確認します。 PS C:\> $json { "user": { "pwd": "password", "uid": "sakura" }, "domain": "just4fun.biz" } +ConvertFrom-Jsonコマンドレットを使用して、PowerShellで簡単に扱えるPSCustomObjectに変換しています。 PS C:\> $json | ConvertFrom-Json user domain ---- ------ @{pwd=password; uid=sakura} just4fun.biz +返却されたクラス名を確認してみます。 PS C:\> ($json | ConvertFrom-Json).GetType() IsPublic IsSerial Name BaseType -------- -------- ---- -------- True False PSCustomObject System.Object +$o変数に返却されたPSCustomObjectを代入し、値を参照してみます。 PS C:\> $o = ($json | ConvertFrom-Json) PS C:\> $o user domain ---- ------ @{pwd=password; uid=sakura} just4fun.biz PS C:\> $o.domain just4fun.biz PS C:\> $o.user pwd uid --- --- password sakura PS C:\> $o.user.uid sakura PS C:\> $o.user.pwd password 上記の通り、値を簡単に取り出すことができます。 以上、ConvertFrom-Json, ConvertTo-Jsonコマンドレットを使用して、~ JSON文字列からPowerShellで扱いやすいPSCustomObjectへの変換、ハッシュテーブルからJSON文字列に変換する方法の紹介でした。 #htmlinsertpcsp(win-btm.html,win-sp.html)
テキスト整形のルールを表示する