Sample code for 30+ languages & platforms
DataFlex

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

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Handle hoJson
    Boolean iSuccess
    String sTemp1

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

    Get Create (RefClass(cComChilkatJsonObject)) To hoJson
    If (Not(IsComObjectCreated(hoJson))) Begin
        Send CreateComObject of hoJson
    End
    Get ComUpdateBool Of hoJson "accountEnabled" True To iSuccess
    Set ComI Of hoJson To 0
    Get ComUpdateString Of hoJson "assignedLicenses[i].disabledPlans[0]" "bea13e0c-3828-4daa-a392-28af7ff61a0f" To iSuccess
    Get ComUpdateString Of hoJson "assignedLicenses[i].skuId" "skuId-value" To iSuccess
    Get ComUpdateString Of hoJson "assignedPlans[i].assignedDateTime" "datetime-value" To iSuccess
    Get ComUpdateString Of hoJson "assignedPlans[i].capabilityStatus" "capabilityStatus-value" To iSuccess
    Get ComUpdateString Of hoJson "assignedPlans[i].service" "service-value" To iSuccess
    Get ComUpdateString Of hoJson "assignedPlans[i].servicePlanId" "bea13e0c-3828-4daa-a392-28af7ff61a0f" To iSuccess
    Get ComUpdateString Of hoJson "businessPhones[i]" "businessPhones-value" To iSuccess
    Get ComUpdateString Of hoJson "city" "city-value" To iSuccess
    Get ComUpdateString Of hoJson "companyName" "companyName-value" To iSuccess

    Set ComEmitCompact Of hoJson To False
    Get ComEmit Of hoJson To sTemp1
    Showln sTemp1

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


End_Procedure