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

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

void ChilkatSample(void)
    {
    HCkJsonArray a;
    HCkJsonObject json;
    HCkJsonArray abc;

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

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

    //  Output:  [1,2,3,4]
    printf("%s\n",CkJsonArray_emit(a));
    printf("--------\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 = CkJsonObject_Create();
    CkJsonObject_Load(json,"{ \"abc\": [ 1,2,3,4 ] }");

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

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

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

    //  Output: (json) {"abc":[1,2,3,4]}
    printf("(json) %s\n",CkJsonObject_emit(json));
    printf("--------\n");
    CkJsonArray_Dispose(abc);


    CkJsonArray_Dispose(a);
    CkJsonObject_Dispose(json);

    }