Unicode C
Unicode C
JSON Iterate Members
See more JSON Examples
Demonstrates how to loop over the immediate members of a JSON object.Chilkat Unicode C Downloads
#include <C_CkJsonObjectW.h>
void ChilkatSample(void)
{
BOOL success;
HCkJsonObjectW json;
const wchar_t *jsonStr;
int numMembers;
int i;
const wchar_t *name;
const wchar_t *value;
int iValue;
success = FALSE;
json = CkJsonObjectW_Create();
jsonStr = L"{ \"id\": 1, \"name\": \"A green door\", \"tags\": [\"home\", \"green\"], \"price\": 125 }";
success = CkJsonObjectW_Load(json,jsonStr);
if (success != TRUE) {
wprintf(L"%s\n",CkJsonObjectW_lastErrorText(json));
CkJsonObjectW_Dispose(json);
return;
}
numMembers = CkJsonObjectW_getSize(json);
for (i = 0; i <= numMembers - 1; i++) {
name = CkJsonObjectW_nameAt(json,i);
value = CkJsonObjectW_stringAt(json,i);
wprintf(L"%s: %s\n",name,value);
iValue = CkJsonObjectW_IntAt(json,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
CkJsonObjectW_Dispose(json);
}