Sample code for 30+ languages & platforms
Java Requires Chilkat v11.0.0+

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 Java Downloads

Chilkat2 Java
import com.chilkatsoft.chilkat2.JsonObject;

public class ChilkatExample {

    public static void main(String[] args) {
        JsonObject json = new JsonObject();

        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.setEmitCompact(false);
        System.out.println(json.emit());

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

        // Look at the sorted JSON..
        System.out.println(json.emit());

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

        // Now sort the members of the "abc" object..
        JsonObject jsonAbc = new JsonObject();
        json.objectOf2("abc", jsonAbc);

        jsonAbc.sort(ascending, caseSensitive);

        // Now look at the JSON with the members under "abc" also sorted..
        System.out.println(json.emit());

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