Подтвердить что ты не робот

Powershell V3 ConvertTo-json со встроенной хэш-таблицей

У меня возникла проблема с ConvertTo-Json и я пытался понять поведение и/или то, что я делаю неправильно.

Рассмотрим эту последовательность команд:

[email protected]{ID=10;[email protected]{ID=11;[email protected]{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"
                   }
    }
]

Кажется, что в массиве неверно преобразование. Любые идеи о том, почему это происходит?

4b9b3361

Ответ 1

Это проблема с глубиной, значение по умолчанию равно 2, вы можете попробовать:

ConvertTo-json @($val) -Depth 5

Ответ 2

-Depth $([int32]::MaxValue)

указывает бесконечную глубину (максимально возможную для командлета ConvertTo-Json)