Sample code for 30+ languages & platforms
PowerShell

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 PowerShell Downloads

PowerShell
Add-Type -Path "C:\chilkat\ChilkatDotNet47-x64\ChilkatDotNet47.dll"

$json = New-Object Chilkat.JsonObject

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

$json.EmitCompact = $false
$($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.
$ascending = $true
$caseSensitive = $true
$json.Sort($ascending,$caseSensitive)

# Look at the sorted JSON..
$($json.Emit())

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

# Now sort the members of the "abc" object..
$jsonAbc = New-Object Chilkat.JsonObject
$json.ObjectOf2("abc",$jsonAbc)

$jsonAbc.Sort($ascending,$caseSensitive)

# Now look at the JSON with the members under "abc" also sorted..
$($json.Emit())

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