Sample code for 30+ languages & platforms
Xojo Plugin

Swap JSON Objects

See more JSON Examples

Demonstrates how to swap two JSON objects within a JSON document.

Chilkat Xojo Plugin Downloads

Xojo Plugin
Dim success As Boolean
success = False

Dim json As New Chilkat.JsonObject
json.EmitCompact = False

// Load the following JSON:

// {
//   "petter": {
//     "DOB": "26/02/1986",
//     "gender": "male",
//     "country": "US"
//   },
//   "Sara": {
//     "DOB": "13/05/1982",
//     "gender": "female",
//     "country": "FR"
//   },
//   "Jon": {
//     "DOB": "19/03/1984",
//     "gender": "male",
//     "country": "UK"
//   }
// }

success = json.LoadFile("qa_data/json/people.json")
If (success = False) Then
    System.DebugLog(json.LastErrorText)
    Return
End If

// Swap the positions of Jon and Sara.
Dim index1 As Int32
index1 = json.IndexOf("Jon")
Dim index2 As Int32
index2 = json.IndexOf("Sara")
success = json.Swap(index1,index2)

// We have this now:
System.DebugLog(json.Emit())

// {
//   "petter": {
//     "DOB": "26/02/1986",
//     "gender": "male",
//     "country": "US"
//   },
//   "Jon": {
//     "DOB": "19/03/1984",
//     "gender": "male",
//     "country": "UK"
//   },
//   "Sara": {
//     "DOB": "13/05/1982",
//     "gender": "female",
//     "country": "FR"
//   }
// }

// To swap an inner member:

Dim jsonSara As New Chilkat.JsonObject
success = json.ObjectOf2("Sara",jsonSara)

index1 = jsonSara.IndexOf("DOB")
index2 = jsonSara.IndexOf("country")
success = jsonSara.Swap(index1,index2)

// We now have this:
System.DebugLog(json.Emit())

// {
//   "petter": {
//     "DOB": "26/02/1986",
//     "gender": "male",
//     "country": "US"
//   },
//   "Jon": {
//     "DOB": "19/03/1984",
//     "gender": "male",
//     "country": "UK"
//   },
//   "Sara": {
//     "country": "FR",
//     "gender": "female",
//     "DOB": "13/05/1982"
//   }
// }