JSON Array in PowerShell
The outer []
is a list in JSON and you're trying to use @{}
, which is a hashtable in PowerShell. Use @()
which is an array (list) in PowerShell:
$Body = @(
@{
FirstName='Test'
LastName='Account2'
}
)
ConvertTo-Json -InputObject $Body
(and I use -InputObject instead of piping, because PowerShell is obsessed with flattering lists, and drops the list otherwise).
I had some problems adding new items to the Powershell list. I tried to add an item using the .add() function. This returned the error "Collection was of a fixed size."
Adding items to the list is just simple by using the += symbol.
$Body += @{FirstName='Test2'; LastName='Account3'}
That simple.