Sample code for 30+ languages & platforms
Tcl

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

Tcl

load ./chilkat.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"
# }

set json [new_CkJsonObject]

CkJsonObject_UpdateBool $json "accountEnabled" 1
CkJsonObject_put_I $json 0
CkJsonObject_UpdateString $json "assignedLicenses[i].disabledPlans[0]" "bea13e0c-3828-4daa-a392-28af7ff61a0f"
CkJsonObject_UpdateString $json "assignedLicenses[i].skuId" "skuId-value"
CkJsonObject_UpdateString $json "assignedPlans[i].assignedDateTime" "datetime-value"
CkJsonObject_UpdateString $json "assignedPlans[i].capabilityStatus" "capabilityStatus-value"
CkJsonObject_UpdateString $json "assignedPlans[i].service" "service-value"
CkJsonObject_UpdateString $json "assignedPlans[i].servicePlanId" "bea13e0c-3828-4daa-a392-28af7ff61a0f"
CkJsonObject_UpdateString $json "businessPhones[i]" "businessPhones-value"
CkJsonObject_UpdateString $json "city" "city-value"
CkJsonObject_UpdateString $json "companyName" "companyName-value"

CkJsonObject_put_EmitCompact $json 0
puts [CkJsonObject_emit $json]

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

delete_CkJsonObject $json