Sample code for 30+ languages & platforms
Unicode C

Understanding JSON Array vs JSON Object

See more JSON Examples

This example explains the difference between a JSON Array and a JSON Object. A JSON Array begins with "[" and ends with "]", whereas a JSON Object begins with "{" and ends with "}".

Elements contained in a JSON array are accessed by index, whereas elements in a JSON object are typically accessed by name (but can also be accessed by index).

Chilkat Unicode C Downloads

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

void ChilkatSample(void)
    {
    BOOL success;
    const wchar_t *strJsonArray;
    HCkJsonArrayW jsonA;
    const wchar_t *strJsonObj;
    HCkJsonObjectW jsonO;

    success = FALSE;

    // A JSON array should be loaded into a Chilkat JSON array,
    // whereas a JSON object should be loaded into a Chilkat JSON object.

    // A JSON array may contain objects, and a JSON object may contains arrays, but
    // it is the top-level (outermost) element that defines whether the JSON
    // document is an array or an object.
    // An array begins and ends with "[" ... "]"
    // An object begins and ends with "{" ... "}"

    // For example, an array containing 2 objects:
    strJsonArray = L"[ { \"name\": \"Bill\" }, { \"name\": \"Ted\" } ]";

    // Load it into a JSON array.
    jsonA = CkJsonArrayW_Create();
    success = CkJsonArrayW_Load(jsonA,strJsonArray);
    wprintf(L"number of array elements: %d\n",CkJsonArrayW_getSize(jsonA));

    // This is an object containing an array:
    strJsonObj = L"{ \"characters\": [ \"Bill\", \"Ted\" ] }";

    // Load it into a JSON object.
    jsonO = CkJsonObjectW_Create();
    success = CkJsonObjectW_Load(jsonO,strJsonObj);
    wprintf(L"number of object members: %d\n",CkJsonObjectW_getSize(jsonO));


    CkJsonArrayW_Dispose(jsonA);
    CkJsonObjectW_Dispose(jsonO);

    }