Sample code for 30+ languages & platforms
Lua

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

Lua
local chilkat = require("chilkat")

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

local json = chilkat.JsonObject.new()
json:update_bool("accountEnabled", true)
json.i = 0
json:update_string("assignedLicenses[i].disabledPlans[0]", "bea13e0c-3828-4daa-a392-28af7ff61a0f")
json:update_string("assignedLicenses[i].skuId", "skuId-value")
json:update_string("assignedPlans[i].assignedDateTime", "datetime-value")
json:update_string("assignedPlans[i].capabilityStatus", "capabilityStatus-value")
json:update_string("assignedPlans[i].service", "service-value")
json:update_string("assignedPlans[i].servicePlanId", "bea13e0c-3828-4daa-a392-28af7ff61a0f")
json:update_string("businessPhones[i]", "businessPhones-value")
json:update_string("city", "city-value")
json:update_string("companyName", "companyName-value")

json.emit_compact = false
print(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"
-- }