Powershell ConvertTo-json со встроенной хэш-таблицей
У меня проблема с 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"
}
}
}
Второе преобразование дает такой вывод:
[
{
"ID": 10,
"Config": {
"ID": 11,
"Config": "System.Collections.Hashtable"
}
}
]
Кажется, что в случае массива преобразование является неправильным. Любые идеи о том, почему это происходит?
2 ответа
Решение
Это проблема с глубиной, значение по умолчанию 2, вы можете попробовать:
ConvertTo-json @($val) -Depth 5
-Depth $([int32]::MaxValue)
задает бесконечную глубину (максимально возможная для командлета ConvertTo-Json)