Sample code for 30+ languages & platforms
Unicode C

Load a JsonArray

See more JSON Examples

Demonstrates how to load a JsonArray.

Note: This example requires Chilkat v9.5.0.64 or greater.

Chilkat Unicode C Downloads

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

void ChilkatSample(void)
    {
    HCkJsonArrayW a;
    HCkJsonObjectW json;
    HCkJsonArrayW abc;

    // This example requires Chilkat v9.5.0.64 or greater.

    // Loading into a new JSON array is simple and straightforward.
    a = CkJsonArrayW_Create();
    CkJsonArrayW_Load(a,L"[ 1,2,3,4 ]");

    // Output:  [1,2,3,4]
    wprintf(L"%s\n",CkJsonArrayW_emit(a));
    wprintf(L"--------\n");

    // The JsonArray's Load and LoadSb methods have a peculiar behavior when
    // it is already part of a JSON document.  In this case, the JsonArray
    // becomes detached, and the original document remains unchanged.
    // This is intentional due to the nature of the internal implementation.
    // For example:

    json = CkJsonObjectW_Create();
    CkJsonObjectW_Load(json,L"{ \"abc\": [ 1,2,3,4 ] }");

    // Output:  (json) {"abc":[1,2,3,4]}
    wprintf(L"(json) %s\n",CkJsonObjectW_emit(json));
    wprintf(L"--------\n");

    abc = CkJsonObjectW_ArrayOf(json,L"abc");
    // When Load is called, abc becomes it's own document, and the original is not modified.
    CkJsonArrayW_Load(abc,L"[ 5,6,7,8 ]");

    // Output: (abc) [5,6,7,8]
    wprintf(L"(abc) %s\n",CkJsonArrayW_emit(abc));
    wprintf(L"--------\n");

    // Output: (json) {"abc":[1,2,3,4]}
    wprintf(L"(json) %s\n",CkJsonObjectW_emit(json));
    wprintf(L"--------\n");
    CkJsonArrayW_Dispose(abc);


    CkJsonArrayW_Dispose(a);
    CkJsonObjectW_Dispose(json);

    }