Sample code for 30+ languages & platforms
Delphi DLL

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 Delphi DLL Downloads

Delphi DLL
uses
    Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
    Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, JsonObject;

...

procedure TForm1.Button1Click(Sender: TObject);
var
json: HCkJsonObject;

begin
// 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 := CkJsonObject_Create();
CkJsonObject_UpdateBool(json,'accountEnabled',True);
CkJsonObject_putI(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_putEmitCompact(json,False);
Memo1.Lines.Add(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"
// }

CkJsonObject_Dispose(json);

end;