Xbase++ Requires Chilkat v11.0.0+
Xbase++
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 Xbase++ Downloads
LOCAL oJson
LOCAL nAscending
LOCAL nCaseSensitive
LOCAL oJsonAbc
oJson := CreateObject("Chilkat.JsonObject")
oJson:UpdateString("xyz", "1234")
oJson:UpdateString("abc.xyz", "1234")
oJson:UpdateString("abc.def", "1234")
oJson:UpdateString("abc.aaa", "1234")
oJson:UpdateString("ghi", "1234")
oJson:UpdateString("nmo", "1234")
oJson:EmitCompact := 0
? oJson: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.
nAscending := 1
nCaseSensitive := 1
oJson:Sort(nAscending, nCaseSensitive)
// Look at the sorted JSON..
? oJson:Emit()
// {
// "abc": {
// "xyz": "1234",
// "def": "1234",
// "aaa": "1234"
// },
// "ghi": "1234",
// "nmo": "1234",
// "xyz": "1234"
// }
// Now sort the members of the "abc" object..
oJsonAbc := CreateObject("Chilkat.JsonObject")
oJson:ObjectOf2("abc", oJsonAbc)
oJsonAbc:Sort(nAscending, nCaseSensitive)
// Now look at the JSON with the members under "abc" also sorted..
? oJson:Emit()
// {
// "abc": {
// "aaa": "1234",
// "def": "1234",
// "xyz": "1234"
// },
// "ghi": "1234",
// "nmo": "1234",
// "xyz": "1234"
// }
oJson:destroy()
oJsonAbc:destroy()