Sample code for 30+ languages & platforms
Visual FoxPro

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 Visual FoxPro Downloads

Visual FoxPro
LOCAL loJson
LOCAL lnAscending
LOCAL lnCaseSensitive
LOCAL loJsonAbc

loJson = CreateObject('Chilkat.JsonObject')

loJson.UpdateString("xyz","1234")
loJson.UpdateString("abc.xyz","1234")
loJson.UpdateString("abc.def","1234")
loJson.UpdateString("abc.aaa","1234")
loJson.UpdateString("ghi","1234")
loJson.UpdateString("nmo","1234")

loJson.EmitCompact = 0
? loJson.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.
lnAscending = 1
lnCaseSensitive = 1
loJson.Sort(lnAscending,lnCaseSensitive)

* Look at the sorted JSON..
? loJson.Emit()

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

* Now sort the members of the "abc" object..
loJsonAbc = CreateObject('Chilkat.JsonObject')
loJson.ObjectOf2("abc",loJsonAbc)

loJsonAbc.Sort(lnAscending,lnCaseSensitive)

* Now look at the JSON with the members under "abc" also sorted..
? loJson.Emit()

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

RELEASE loJson
RELEASE loJsonAbc