Unicode C
Unicode C
Loading and Parsing a JSON Array
See more JSON Examples
A JSON array is JSON that begins with "[" and ends with "]". For example, this is a JSON array that contains 3 JSON objects.
[{"name":"jack"},{"name":"john"},{"name":"joe"}]
A JSON object, however, is JSON that begins with "{" and ends with "}". For example, this JSON is an object that contains an array.
{"pets":[{"name":"jack"},{"name":"john"},{"name":"joe"}]}
This example shows how loading a JSON array is different than loading a JSON object.
Chilkat Unicode C Downloads
#include <C_CkJsonArrayW.h>
#include <C_CkJsonObjectW.h>
void ChilkatSample(void)
{
const wchar_t *strJsonArray;
const wchar_t *strJsonObject;
HCkJsonArrayW jsonArray;
int i;
HCkJsonObjectW jsonObj;
HCkJsonObjectW jsonObject;
int numPets;
strJsonArray = L"[{\"name\":\"jack\"},{\"name\":\"john\"},{\"name\":\"joe\"}]";
strJsonObject = L"{\"pets\":[{\"name\":\"jack\"},{\"name\":\"john\"},{\"name\":\"joe\"}]}";
// A JSON array must be loaded using JsonArray:
jsonArray = CkJsonArrayW_Create();
CkJsonArrayW_Load(jsonArray,strJsonArray);
// Examine the values:
i = 0;
while (i < CkJsonArrayW_getSize(jsonArray)) {
jsonObj = CkJsonArrayW_ObjectAt(jsonArray,i);
wprintf(L"%d: %s\n",i,CkJsonObjectW_stringOf(jsonObj,L"name"));
CkJsonObjectW_Dispose(jsonObj);
i = i + 1;
}
// Output is:
// 0: jack
// 1: john
// 2: joe
// A JSON object must be loaded using JsonObject
jsonObject = CkJsonObjectW_Create();
CkJsonObjectW_Load(jsonObject,strJsonObject);
// Examine the values:
i = 0;
numPets = CkJsonObjectW_SizeOfArray(jsonObject,L"pets");
while (i < numPets) {
CkJsonObjectW_putI(jsonObject,i);
wprintf(L"%d: %s\n",i,CkJsonObjectW_stringOf(jsonObject,L"pets[i].name"));
i = i + 1;
}
// Output is:
// 0: jack
// 1: john
// 2: joe
CkJsonArrayW_Dispose(jsonArray);
CkJsonObjectW_Dispose(jsonObject);
}