PowerBuilder
PowerBuilder
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 PowerBuilder Downloads
integer li_rc
oleobject loo_Json
integer li_Ascending
integer li_CaseSensitive
oleobject loo_JsonAbc
loo_Json = create oleobject
li_rc = loo_Json.ConnectToNewObject("Chilkat.JsonObject")
if li_rc < 0 then
destroy loo_Json
MessageBox("Error","Connecting to COM object failed")
return
end if
loo_Json.UpdateString("xyz","1234")
loo_Json.UpdateString("abc.xyz","1234")
loo_Json.UpdateString("abc.def","1234")
loo_Json.UpdateString("abc.aaa","1234")
loo_Json.UpdateString("ghi","1234")
loo_Json.UpdateString("nmo","1234")
loo_Json.EmitCompact = 0
Write-Debug loo_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.
li_Ascending = 1
li_CaseSensitive = 1
loo_Json.Sort(li_Ascending,li_CaseSensitive)
// Look at the sorted JSON..
Write-Debug loo_Json.Emit()
// {
// "abc": {
// "xyz": "1234",
// "def": "1234",
// "aaa": "1234"
// },
// "ghi": "1234",
// "nmo": "1234",
// "xyz": "1234"
// }
// Now sort the members of the "abc" object..
loo_JsonAbc = create oleobject
li_rc = loo_JsonAbc.ConnectToNewObject("Chilkat.JsonObject")
loo_Json.ObjectOf2("abc",loo_JsonAbc)
loo_JsonAbc.Sort(li_Ascending,li_CaseSensitive)
// Now look at the JSON with the members under "abc" also sorted..
Write-Debug loo_Json.Emit()
// {
// "abc": {
// "aaa": "1234",
// "def": "1234",
// "xyz": "1234"
// },
// "ghi": "1234",
// "nmo": "1234",
// "xyz": "1234"
// }
destroy loo_Json
destroy loo_JsonAbc