PureBasic
PureBasic
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 PureBasic Downloads
IncludeFile "CkJsonObject.pb"
Procedure ChilkatExample()
json.i = CkJsonObject::ckCreate()
If json.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkJsonObject::ckUpdateString(json,"xyz","1234")
CkJsonObject::ckUpdateString(json,"abc.xyz","1234")
CkJsonObject::ckUpdateString(json,"abc.def","1234")
CkJsonObject::ckUpdateString(json,"abc.aaa","1234")
CkJsonObject::ckUpdateString(json,"ghi","1234")
CkJsonObject::ckUpdateString(json,"nmo","1234")
CkJsonObject::setCkEmitCompact(json, 0)
Debug CkJsonObject::ckEmit(json)
; 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.
ascending.i = 1
caseSensitive.i = 1
CkJsonObject::ckSort(json,ascending,caseSensitive)
; Look at the sorted JSON..
Debug CkJsonObject::ckEmit(json)
; {
; "abc": {
; "xyz": "1234",
; "def": "1234",
; "aaa": "1234"
; },
; "ghi": "1234",
; "nmo": "1234",
; "xyz": "1234"
; }
; Now sort the members of the "abc" object..
jsonAbc.i = CkJsonObject::ckCreate()
If jsonAbc.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkJsonObject::ckObjectOf2(json,"abc",jsonAbc)
CkJsonObject::ckSort(jsonAbc,ascending,caseSensitive)
; Now look at the JSON with the members under "abc" also sorted..
Debug CkJsonObject::ckEmit(json)
; {
; "abc": {
; "aaa": "1234",
; "def": "1234",
; "xyz": "1234"
; },
; "ghi": "1234",
; "nmo": "1234",
; "xyz": "1234"
; }
CkJsonObject::ckDispose(json)
CkJsonObject::ckDispose(jsonAbc)
ProcedureReturn
EndProcedure