C
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
#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);
}