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