Sample code for 30+ languages & platforms
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

C++
#include <CkJsonObject.h>

void ChilkatSample(void)
    {
    CkJsonObject json;

    json.UpdateString("xyz","1234");
    json.UpdateString("abc.xyz","1234");
    json.UpdateString("abc.def","1234");
    json.UpdateString("abc.aaa","1234");
    json.UpdateString("ghi","1234");
    json.UpdateString("nmo","1234");

    json.put_EmitCompact(false);
    std::cout << json.emit() << "\r\n";

    // 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.
    bool ascending = true;
    bool caseSensitive = true;
    json.Sort(ascending,caseSensitive);

    // Look at the sorted JSON..
    std::cout << json.emit() << "\r\n";

    // {
    //   "abc": {
    //     "xyz": "1234",
    //     "def": "1234",
    //     "aaa": "1234"
    //   },
    //   "ghi": "1234",
    //   "nmo": "1234",
    //   "xyz": "1234"
    // }

    // Now sort the members of the "abc" object..
    CkJsonObject jsonAbc;
    json.ObjectOf2("abc",jsonAbc);

    jsonAbc.Sort(ascending,caseSensitive);

    // Now look at the JSON with the members under "abc" also sorted..
    std::cout << json.emit() << "\r\n";

    // {
    //   "abc": {
    //     "aaa": "1234",
    //     "def": "1234",
    //     "xyz": "1234"
    //   },
    //   "ghi": "1234",
    //   "nmo": "1234",
    //   "xyz": "1234"
    // }
    }