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

Swap JSON Objects

See more JSON Examples

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

Chilkat PowerBuilder Downloads

PowerBuilder
integer li_rc
integer li_Success
oleobject loo_Json
integer li_Index1
integer li_Index2
oleobject loo_JsonSara

li_Success = 0

loo_Json = create oleobject
li_rc = loo_Json.ConnectToNewObject("Chilkat.JsonObject")
if li_rc < 0 then
    destroy loo_Json
    MessageBox("Error","Connecting to COM object failed")
    return
end if
loo_Json.EmitCompact = 0

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

li_Success = loo_Json.LoadFile("qa_data/json/people.json")
if li_Success = 0 then
    Write-Debug loo_Json.LastErrorText
    destroy loo_Json
    return
end if

//  Swap the positions of Jon and Sara.
li_Index1 = loo_Json.IndexOf("Jon")
li_Index2 = loo_Json.IndexOf("Sara")
loo_Json.Swap(li_Index1,li_Index2)

//  We have this now:
Write-Debug loo_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:

loo_JsonSara = create oleobject
li_rc = loo_JsonSara.ConnectToNewObject("Chilkat.JsonObject")

loo_Json.ObjectOf2("Sara",loo_JsonSara)

li_Index1 = loo_JsonSara.IndexOf("DOB")
li_Index2 = loo_JsonSara.IndexOf("country")
loo_JsonSara.Swap(li_Index1,li_Index2)

//  We now have this:
Write-Debug loo_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"
//    }
//  }


destroy loo_Json
destroy loo_JsonSara