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]}]}