PowerShell
PowerShell
Build JSON with Mixture of Arrays and Objects
See more JSON Examples
Another example showing how to build JSON containing a mixture of arrays and objects.Chilkat PowerShell Downloads
Add-Type -Path "C:\chilkat\ChilkatDotNet47-x64\ChilkatDotNet47.dll"
# We want to build the following JSON:
# {
# "accountEnabled": true,
# "assignedLicenses": [
# {
# "disabledPlans": [ "bea13e0c-3828-4daa-a392-28af7ff61a0f" ],
# "skuId": "skuId-value"
# }
# ],
# "assignedPlans": [
# {
# "assignedDateTime": "datetime-value",
# "capabilityStatus": "capabilityStatus-value",
# "service": "service-value",
# "servicePlanId": "bea13e0c-3828-4daa-a392-28af7ff61a0f"
# }
# ],
# "businessPhones": [
# "businessPhones-value"
# ],
# "city": "city-value",
# "companyName": "companyName-value"
# }
$json = New-Object Chilkat.JsonObject
$json.UpdateBool("accountEnabled",$true)
$json.I = 0
$json.UpdateString("assignedLicenses[i].disabledPlans[0]","bea13e0c-3828-4daa-a392-28af7ff61a0f")
$json.UpdateString("assignedLicenses[i].skuId","skuId-value")
$json.UpdateString("assignedPlans[i].assignedDateTime","datetime-value")
$json.UpdateString("assignedPlans[i].capabilityStatus","capabilityStatus-value")
$json.UpdateString("assignedPlans[i].service","service-value")
$json.UpdateString("assignedPlans[i].servicePlanId","bea13e0c-3828-4daa-a392-28af7ff61a0f")
$json.UpdateString("businessPhones[i]","businessPhones-value")
$json.UpdateString("city","city-value")
$json.UpdateString("companyName","companyName-value")
$json.EmitCompact = $false
$($json.Emit())
# Output:
# {
# "accountEnabled": true,
# "assignedLicenses": [
# {
# "disabledPlans": [
# "bea13e0c-3828-4daa-a392-28af7ff61a0f"
# ],
# "skuId": "skuId-value"
# }
# ],
# "assignedPlans": [
# {
# "assignedDateTime": "datetime-value",
# "capabilityStatus": "capabilityStatus-value",
# "service": "service-value",
# "servicePlanId": "bea13e0c-3828-4daa-a392-28af7ff61a0f"
# }
# ],
# "businessPhones": [
# "businessPhones-value"
# ],
# "city": "city-value",
# "companyName": "companyName-value"
# }