ConvertTo-Jsonに問題があり、動作や私が間違っていることを理解しようとしていました。
次の一連のコマンドを検討してください。
$val=@{ID=10;Config=@{ID=11;Config=@{ID=12;Config='end'}}}
ConvertTo-json $val
ConvertTo-json @($val)
最初の変換はこの出力を与えます:
{
"ID": 10,
"Config": {
"ID": 11,
"Config": {
"ID": 12,
"Config": "end"
}
}
}
2番目の変換により、次の出力が得られます。
[
{
"ID": 10,
"Config": {
"ID": 11,
"Config": "System.Collections.Hashtable"
}
}
]
配列の場合、変換が正しくないようです。なぜこれが起こっているのかについてのアイデアはありますか?
深さの問題です。デフォルト値は2です。
ConvertTo-json @($val) -Depth 5
-Depth $([int32]::MaxValue)
無限の深さを指定します(ConvertTo-Jsonコマンドレットで可能な最大値)