Sample code for 30+ languages & platforms
Visual FoxPro 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 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