Sample code for 30+ languages & platforms
Unicode C

Create a JSON Array of Objects

See more JSON Examples

Demonstrates how to create a JSON array of objects.

Chilkat Unicode C Downloads

Unicode C
#include <C_CkJsonArrayW.h>
#include <C_CkJsonObjectW.h>

void ChilkatSample(void)
    {
    BOOL success;
    HCkJsonArrayW arr;
    HCkJsonObjectW obj;

    success = FALSE;

    arr = CkJsonArrayW_Create();

    obj = CkJsonObjectW_Create();

    // Create a new and empty JSON object in the 1st position of the JSON array 
    // and return the reference in the last argument.
    CkJsonArrayW_AddObjectAt2(arr,0,obj);
    CkJsonObjectW_UpdateString(obj,L"Name",L"Otto");
    CkJsonObjectW_UpdateInt(obj,L"Age",29);
    CkJsonObjectW_UpdateBool(obj,L"Married",FALSE);

    // Create a new and empty JSON object in the 2nd position of the JSON array 
    // and return the reference in the last argument.
    CkJsonArrayW_AddObjectAt2(arr,1,obj);
    CkJsonObjectW_UpdateString(obj,L"Name",L"Connor");
    CkJsonObjectW_UpdateInt(obj,L"Age",43);
    CkJsonObjectW_UpdateBool(obj,L"Married",TRUE);

    // Create a new and empty JSON object in the 3rd position of the JSON array 
    // and return the reference in the last argument.
    CkJsonArrayW_AddObjectAt2(arr,2,obj);
    CkJsonObjectW_UpdateString(obj,L"Name",L"Ramona");
    CkJsonObjectW_UpdateInt(obj,L"Age",34);
    CkJsonObjectW_UpdateBool(obj,L"Married",TRUE);

    // Examine what we have:
    CkJsonArrayW_putEmitCompact(arr,FALSE);
    wprintf(L"%s\n",CkJsonArrayW_emit(arr));

    // The output is:

    // [
    //   {
    //     "Name": "Otto",
    //     "Age": 29,
    //     "Married": false
    //   },
    //   {
    //     "Name": "Connor",
    //     "Age": 43,
    //     "Married": true
    //   },
    //   {
    //     "Name": "Ramona",
    //     "Age": 34,
    //     "Married": true
    //   }
    // ]


    CkJsonArrayW_Dispose(arr);
    CkJsonObjectW_Dispose(obj);

    }