Sample code for 30+ languages & platforms
Xojo Plugin Requires Chilkat v11.0.0+

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"
//    }
//  }