Sample code for 30+ languages & platforms
PowerBuilder

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 PowerBuilder Downloads

PowerBuilder
integer li_rc
oleobject loo_Json

//  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"
//  }

loo_Json = create oleobject
li_rc = loo_Json.ConnectToNewObject("Chilkat.JsonObject")
if li_rc < 0 then
    destroy loo_Json
    MessageBox("Error","Connecting to COM object failed")
    return
end if
loo_Json.UpdateBool("accountEnabled",1)
loo_Json.I = 0
loo_Json.UpdateString("assignedLicenses[i].disabledPlans[0]","bea13e0c-3828-4daa-a392-28af7ff61a0f")
loo_Json.UpdateString("assignedLicenses[i].skuId","skuId-value")
loo_Json.UpdateString("assignedPlans[i].assignedDateTime","datetime-value")
loo_Json.UpdateString("assignedPlans[i].capabilityStatus","capabilityStatus-value")
loo_Json.UpdateString("assignedPlans[i].service","service-value")
loo_Json.UpdateString("assignedPlans[i].servicePlanId","bea13e0c-3828-4daa-a392-28af7ff61a0f")
loo_Json.UpdateString("businessPhones[i]","businessPhones-value")
loo_Json.UpdateString("city","city-value")
loo_Json.UpdateString("companyName","companyName-value")

loo_Json.EmitCompact = 0
Write-Debug loo_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"
//  }


destroy loo_Json