(Unicode C++) JSON Iterate Members
Demonstrates how to loop over the immediate members of a JSON object.
#include <CkJsonObjectW.h>
void ChilkatSample(void)
{
CkJsonObjectW json;
const wchar_t *jsonStr = L"{ \"id\": 1, \"name\": \"A green door\", \"tags\": [\"home\", \"green\"], \"price\": 125 }";
bool success = json.Load(jsonStr);
if (success != true) {
wprintf(L"%s\n",json.lastErrorText());
return;
}
int numMembers = json.get_Size();
int i;
for (i = 0; i <= numMembers - 1; i++) {
const wchar_t *name = json.nameAt(i);
const wchar_t *value = json.stringAt(i);
wprintf(L"%s: %s\n",name,value);
int iValue = json.IntAt(i);
wprintf(L"%s as integer: %d\n",name,iValue);
}
// Note: The StringAt method returns the value as a string regardless of the type.
// If the value is a JSON array (such as for ["home", "green"]), then the JSON encoding
// of the entire array is returned.
// The IntAt method returns the value as an integer. If the value does not convert to
// an integer, then 0 is returned
}
|