Sample code for 30+ languages & platforms
Unicode C

Load a JSON Array

See more JSON Examples

The Chilkat JSON API requires the top-level JSON to be an object. Therefore, to load an array requires that it first be wrapped as an object.

Chilkat Unicode C Downloads

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

void ChilkatSample(void)
    {
    BOOL success;
    const wchar_t *jsonArrayStr;
    HCkStringBuilderW sbJson;
    HCkJsonObjectW json;
    HCkJsonArrayW jArray;
    HCkJsonObjectW jObjId;

    success = FALSE;

    // Imagine we want to load this JSON array for parsing:
    jsonArrayStr = L"[{\"id\":200},{\"id\":196}]";

    // First wrap it in a JSON object by prepending "{ "array":" and appending "}"
    sbJson = CkStringBuilderW_Create();
    CkStringBuilderW_Append(sbJson,L"{\"array\":");
    CkStringBuilderW_Append(sbJson,jsonArrayStr);
    CkStringBuilderW_Append(sbJson,L"}");

    json = CkJsonObjectW_Create();
    CkJsonObjectW_Load(json,CkStringBuilderW_getAsString(sbJson));

    // Now we can get the JSON array
    jArray = CkJsonObjectW_ArrayAt(json,0);

    // Do what you want with the JSON array...
    // For example:
    jObjId = CkJsonArrayW_ObjectAt(jArray,0);
    wprintf(L"%d\n",CkJsonObjectW_IntOf(jObjId,L"id"));
    CkJsonObjectW_Dispose(jObjId);

    CkJsonArrayW_Dispose(jArray);


    CkStringBuilderW_Dispose(sbJson);
    CkJsonObjectW_Dispose(json);

    }