свойство:
я проблемы с добавлением хеш-таблиц в многомерный массив. Я закодировал следующее:
$Data = @{BIBs = @(
@{$BIB = @{BIBName=$BIBName},
@{Standort = $Standort},
@{Bücher = @(
@{BuchName = $BuchName;
Autor = $Autor
})
}}
)}
Этот код работает и создает вывод, который я сохраняю в JSON:
{
"BIBs": [
{
"BIB1": [
{
"BIBName": "123"
},
{
"Standort": "123"
},
{
"Bücher": [
{
"Autor": "123",
"BuchName": "123"
}
]
}
]
},
{
"BIB2": [
{
"BIBname": "345"
},
{
"Standort": "345"
},
{
"Bücher": [
{
"Autor": "345",
"Buchname": "345"
}
]
}
]
}
]
}
У меня есть дополнительный код, который добавляет еще одну хеш-таблицу в массив "BIB", как вы можете видеть.
$jsonfile = "C:\Skripte\bibV2-1000.json"
$Data = Get-Content $jsonfile | ConvertFrom-Json
$Data.BIBs += New-Object -TypeName PSObject -Property @{
$BIB = @{BIBname=$BIBName}, @{Standort=$Standort},
@{Bücher = @(@{Buchname=$BuchName;Autor=$Autor})}
}
Когда вывод такой, как указано выше, я не могу добавить еще одну хеш-таблицу в "Bücher". Я проверил тип "Бюхер" с
$data.BIBs.BIB1.Bücher.GetType()
и это на самом деле массив:
IsPublic IsSerial Name BaseType -------- -------- ---- -------- True True Object[] System.Array
Я пытался
$Data.BIBs.BIB1.Bücher += @{Person="Max";Alter="35"}
добавить новую хеш-таблицу, как я сделал с "BIB2", но я получаю ошибку:
The property 'Bücher' cannot be found on this object. Verify that the property exists and can be set. At line:5 char:1 + $data.BIBs.BIB1.Bücher += @{Motor="asdf";pers="345"} + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (:) [], RuntimeException + FullyQualifiedErrorId : PropertyAssignmentException
Вы знаете, как я добавляю@{Person="Max";Alter="35"}
в "Бюхер"?