свойство:

я проблемы с добавлением хеш-таблиц в многомерный массив. Я закодировал следующее:

$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"} в "Бюхер"?

Ответы на вопрос(1)

Ваш ответ на вопрос