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"
    //  }
    }