0
ConvertTo-Json
と表示する前にオブジェクトにデータをパックしようとしています。 $output
に$data
を割り当てる方法はあり予期しない配列から文字列への変換
{ "sub": { "sub-sub": [ "a", "b", "c" ] }}
{ "root": { "sub": { "sub-sub": "a b c" } }}
:(わかりやすくするために手でフォーマットされた)
$array = @("a","b","c")
$data = @{"sub" = @{"sub-sub" = $array}}
$output = @{"root" = $data}
ConvertTo-Json -InputObject $data
ConvertTo-Json -InputObject $output
出力を:以下のテストケースは、私がデータを扱うとどのような問題が発生しています完璧にする方法を示しこの奇妙な暗黙のキャスティングなしで?コメント欄で述べたように
'をConvertTo-JSON -InputObject $出力-depth 3' –
ありがとうございました! ...深さ1は "サブサブ" のSystem.Collections.Hashtableを与えますが、深さ2ではObject [] の代わりに["a"、 "b"、 "c"]の "abc"私はこれが非常に論理的ではないと思う。 –
'Depth'は単にPowerShellが値を"解読 "するネストされたレベルの数です。それ以外の場合は、デフォルトでオブジェクト文字列表現になります。これは、正確には –