Unicode C
Unicode C
Sort JSON Object by Member Key Name
See more JSON Examples
Demonstrates how to sort the members of a JSON object by the key name.Chilkat Unicode C Downloads
#include <C_CkJsonObjectW.h>
void ChilkatSample(void)
{
HCkJsonObjectW json;
BOOL ascending;
BOOL caseSensitive;
HCkJsonObjectW jsonAbc;
json = CkJsonObjectW_Create();
CkJsonObjectW_UpdateString(json,L"xyz",L"1234");
CkJsonObjectW_UpdateString(json,L"abc.xyz",L"1234");
CkJsonObjectW_UpdateString(json,L"abc.def",L"1234");
CkJsonObjectW_UpdateString(json,L"abc.aaa",L"1234");
CkJsonObjectW_UpdateString(json,L"ghi",L"1234");
CkJsonObjectW_UpdateString(json,L"nmo",L"1234");
CkJsonObjectW_putEmitCompact(json,FALSE);
wprintf(L"%s\n",CkJsonObjectW_emit(json));
// This is our initial JSON:
// {
// "xyz": "1234",
// "abc": {
// "xyz": "1234",
// "def": "1234",
// "aaa": "1234"
// },
// "ghi": "1234",
// "nmo": "1234"
// }
// Sort the top-level JSON object by key.
ascending = TRUE;
caseSensitive = TRUE;
CkJsonObjectW_Sort(json,ascending,caseSensitive);
// Look at the sorted JSON..
wprintf(L"%s\n",CkJsonObjectW_emit(json));
// {
// "abc": {
// "xyz": "1234",
// "def": "1234",
// "aaa": "1234"
// },
// "ghi": "1234",
// "nmo": "1234",
// "xyz": "1234"
// }
// Now sort the members of the "abc" object..
jsonAbc = CkJsonObjectW_Create();
CkJsonObjectW_ObjectOf2(json,L"abc",jsonAbc);
CkJsonObjectW_Sort(jsonAbc,ascending,caseSensitive);
// Now look at the JSON with the members under "abc" also sorted..
wprintf(L"%s\n",CkJsonObjectW_emit(json));
// {
// "abc": {
// "aaa": "1234",
// "def": "1234",
// "xyz": "1234"
// },
// "ghi": "1234",
// "nmo": "1234",
// "xyz": "1234"
// }
CkJsonObjectW_Dispose(json);
CkJsonObjectW_Dispose(jsonAbc);
}