PowerShell ConvertTo-Json не конвертирует массив, как ожидалось

Я пытаюсь манипулировать объектом JSON, у которого есть вложенный массив. Следующие команды PowerShell:

@{testArray=@(1,2)} | ConvertTo-Json -Compress
@{testArray=@(@{prop1=1})} | ConvertTo-Json -Compress
@{testArray=@(@{prop1=@(1,2)})} | ConvertTo-Json -Compress

Произведите следующий вывод:

{"testArray":[1,2]}
{"testArray":[{"prop1":1}]}
{"testArray":[{"prop1":"1 2"}]}

Первые два делают то, что я ожидал, а последний нет. Я ожидал бы вывод:

{"testArray":[{"prop1":[1,2]}]}

Что мне здесь не хватает? Использование PowerShell 5.1

1 ответ

Решение

Вам нужно будет указать глубину для ConvertTo-Json

 @{testArray=@(@{prop1=@(1,2)})} | ConvertTo-Json -Depth 3 -Compress

Вернусь

{"testArray":[{"prop1":[1,2]}]}
Другие вопросы по тегам