C
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 C Downloads
#include <C_CkJsonObject.h>
void ChilkatSample(void)
{
HCkJsonObject json;
BOOL ascending;
BOOL caseSensitive;
HCkJsonObject jsonAbc;
json = CkJsonObject_Create();
CkJsonObject_UpdateString(json,"xyz","1234");
CkJsonObject_UpdateString(json,"abc.xyz","1234");
CkJsonObject_UpdateString(json,"abc.def","1234");
CkJsonObject_UpdateString(json,"abc.aaa","1234");
CkJsonObject_UpdateString(json,"ghi","1234");
CkJsonObject_UpdateString(json,"nmo","1234");
CkJsonObject_putEmitCompact(json,FALSE);
printf("%s\n",CkJsonObject_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;
CkJsonObject_Sort(json,ascending,caseSensitive);
// Look at the sorted JSON..
printf("%s\n",CkJsonObject_emit(json));
// {
// "abc": {
// "xyz": "1234",
// "def": "1234",
// "aaa": "1234"
// },
// "ghi": "1234",
// "nmo": "1234",
// "xyz": "1234"
// }
// Now sort the members of the "abc" object..
jsonAbc = CkJsonObject_Create();
CkJsonObject_ObjectOf2(json,"abc",jsonAbc);
CkJsonObject_Sort(jsonAbc,ascending,caseSensitive);
// Now look at the JSON with the members under "abc" also sorted..
printf("%s\n",CkJsonObject_emit(json));
// {
// "abc": {
// "aaa": "1234",
// "def": "1234",
// "xyz": "1234"
// },
// "ghi": "1234",
// "nmo": "1234",
// "xyz": "1234"
// }
CkJsonObject_Dispose(json);
CkJsonObject_Dispose(jsonAbc);
}