Sample code for 30+ languages & platforms
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 C Downloads

C
#include <C_CkJsonArray.h>
#include <C_CkJsonObject.h>

void ChilkatSample(void)
    {
    BOOL success;
    const char *strJsonArray;
    HCkJsonArray jsonA;
    const char *strJsonObj;
    HCkJsonObject 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 = "[ { \"name\": \"Bill\" }, { \"name\": \"Ted\" } ]";

    // Load it into a JSON array.
    jsonA = CkJsonArray_Create();
    success = CkJsonArray_Load(jsonA,strJsonArray);
    printf("number of array elements: %d\n",CkJsonArray_getSize(jsonA));

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

    // Load it into a JSON object.
    jsonO = CkJsonObject_Create();
    success = CkJsonObject_Load(jsonO,strJsonObj);
    printf("number of object members: %d\n",CkJsonObject_getSize(jsonO));


    CkJsonArray_Dispose(jsonA);
    CkJsonObject_Dispose(jsonO);

    }