Я пытаюсь создать вложенную структуру данных с некоторого ввода и в конечном итоге преобразовать ее в JSON, но у меня возникают проблемы, когда она становится слишком глубокой.Выходных данных PowerShell вложенных типов данных
Структура будет массивом хэша, где один элемент - это другой массив хэша.
Это создает два массива хэш-$baz1
и $baz2
PS D:\> $baz1 = @(@{foo="foo1"; bar="bar1"};@{foo="foo2";bar="bar2"};@{foo="foo3";bar="bar3"})
PS D:\> $baz2 = @(@{foo="foo1"; bar="bar1"};@{foo="foo2";bar="bar2"};@{foo="foo3";bar="bar3"})
Как вы можете видеть, все выше доска:
PS D:\> $baz1
Name Value
---- -----
bar bar1
foo foo1
bar bar2
foo foo2
bar bar3
foo foo3
PS D:\> $baz1|ConvertTo-Json
[
{
"bar": "bar1",
"foo": "foo1"
},
{
"bar": "bar2",
"foo": "foo2"
},
{
"bar": "bar3",
"foo": "foo3"
}
]
PS D:\>
Но когда я добавить массив $fuz
все это идет грушу -образный:
PS D:\> $fuz = @(@{foo="bar"; bash=$baz1};@{foo="beep";bash=$baz2})
PS D:\> $fuz
Name Value
---- -----
foo bar
bash {System.Collections.Hashtable, System.Collections.Hashtable, System.Collections.Hashtable}
foo beep
bash {System.Collections.Hashtable, System.Collections.Hashtable, System.Collections.Hashtable}
PS D:\> $fuz|ConvertTo-Json
[
{
"foo": "bar",
"bash": [
"System.Collections.Hashtable",
"System.Collections.Hashtable",
"System.Collections.Hashtable"
]
},
{
"foo": "beep",
"bash": [
"System.Collections.Hashtable",
"System.Collections.Hashtable",
"System.Collections.Hashtable"
]
}
]
Даже без $baz1
Этап
PS D:\> @(@{foo="bar"; [email protected](@{foo="foo1"; bar="bar1"};@{foo="foo2";bar="bar2"};@{foo="foo3";bar="bar3"})};@{foo="beep";bash=$baz2})
Name Value
---- -----
foo bar
bash {System.Collections.Hashtable, System.Collections.Hashtable, System.Collections.Hashtable}
foo beep
bash {System.Collections.Hashtable, System.Collections.Hashtable, System.Collections.Hashtable}
PS D:\>
Настоятельно оцените помощь здесь!
Ну, это просто глупо. –
Поскольку выход был также мелким, я не думал смотреть на параметры ConvertTo-json. –