Unicode C
Unicode C
JSON: Nested Objects
See more JSON Examples
Here we have a JSON object that contains nested JSON objects. This example demonstrates how to access the contents of the nested objects.
{
"name": "donut",
"image":
{
"fname": "donut.jpg",
"w": 200,
"h": 200
},
"thumbnail":
{
"fname": "donutThumb.jpg",
"w": 32,
"h": 32
}
}
Chilkat Unicode C Downloads
#include <C_CkJsonObjectW.h>
void ChilkatSample(void)
{
BOOL success;
HCkJsonObjectW json;
const wchar_t *jsonStr;
HCkJsonObjectW imageObj;
HCkJsonObjectW thumbObj;
success = FALSE;
json = CkJsonObjectW_Create();
// This is the above JSON with whitespace chars removed (SPACE, TAB, CR, and LF chars).
// The presence of whitespace chars for pretty-printing makes no difference to the Load
// method.
jsonStr = L"{\"name\": \"donut\",\"image\":{\"fname\": \"donut.jpg\",\"w\": 200,\"h\": 200},\"thumbnail\":{\"fname\": \"donutThumb.jpg\",\"w\": 32,\"h\": 32}}";
success = CkJsonObjectW_Load(json,jsonStr);
if (success == FALSE) {
wprintf(L"%s\n",CkJsonObjectW_lastErrorText(json));
CkJsonObjectW_Dispose(json);
return;
}
// Get the "image" object.
imageObj = CkJsonObjectW_Create();
CkJsonObjectW_ObjectOf2(json,L"image",imageObj);
wprintf(L"image: fname=%s, width=%d, height=%d\n",CkJsonObjectW_stringOf(imageObj,L"fname"),CkJsonObjectW_IntOf(imageObj,L"w")
,CkJsonObjectW_IntOf(imageObj,L"h"));
// Get the "thumbnail" object.
thumbObj = CkJsonObjectW_Create();
CkJsonObjectW_ObjectOf2(json,L"thumbnail",thumbObj);
wprintf(L"thumbnail: fname=%s, width=%d, height=%d\n",CkJsonObjectW_stringOf(thumbObj,L"fname"),CkJsonObjectW_IntOf(thumbObj,L"w")
,CkJsonObjectW_IntOf(thumbObj,L"h"));
CkJsonObjectW_Dispose(json);
CkJsonObjectW_Dispose(imageObj);
CkJsonObjectW_Dispose(thumbObj);
}