(C++) Load a JSON Array
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.
#include <CkStringBuilder.h>
#include <CkJsonObject.h>
#include <CkJsonArray.h>
void ChilkatSample(void)
{
bool success;
// Imagine we want to load this JSON array for parsing:
const char *jsonArrayStr = "[{\"id\":200},{\"id\":196}]";
// First wrap it in a JSON object by prepending "{ "array":" and appending "}"
CkStringBuilder sbJson;
sbJson.Append("{\"array\":");
sbJson.Append(jsonArrayStr);
sbJson.Append("}");
CkJsonObject json;
json.Load(sbJson.getAsString());
// Now we can get the JSON array
CkJsonArray *jArray = json.ArrayAt(0);
// Do what you want with the JSON array...
// For example:
CkJsonObject *jObjId = jArray->ObjectAt(0);
std::cout << jObjId->IntOf("id") << "\r\n";
delete jObjId;
delete jArray;
}
|