C
C
JSON Iterate Members
See more JSON Examples
Demonstrates how to loop over the immediate members of a JSON object.Chilkat C Downloads
#include <C_CkJsonObject.h>
void ChilkatSample(void)
{
BOOL success;
HCkJsonObject json;
const char *jsonStr;
int numMembers;
int i;
const char *name;
const char *value;
int iValue;
success = FALSE;
json = CkJsonObject_Create();
jsonStr = "{ \"id\": 1, \"name\": \"A green door\", \"tags\": [\"home\", \"green\"], \"price\": 125 }";
success = CkJsonObject_Load(json,jsonStr);
if (success != TRUE) {
printf("%s\n",CkJsonObject_lastErrorText(json));
CkJsonObject_Dispose(json);
return;
}
numMembers = CkJsonObject_getSize(json);
for (i = 0; i <= numMembers - 1; i++) {
name = CkJsonObject_nameAt(json,i);
value = CkJsonObject_stringAt(json,i);
printf("%s: %s\n",name,value);
iValue = CkJsonObject_IntAt(json,i);
printf("%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
CkJsonObject_Dispose(json);
}