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

Swap JSON Objects

See more JSON Examples

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

Chilkat Lianja Downloads

Lianja
llSuccess = .F.

loJson = createobject("CkJsonObject")
loJson.EmitCompact = .F.

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

llSuccess = loJson.LoadFile("qa_data/json/people.json")
if (llSuccess = .F.) then
    ? loJson.LastErrorText
    release loJson
    return
endif

//  Swap the positions of Jon and Sara.
lnIndex1 = loJson.IndexOf("Jon")
lnIndex2 = loJson.IndexOf("Sara")
loJson.Swap(lnIndex1,lnIndex2)

//  We have this now:
? loJson.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:

loJsonSara = createobject("CkJsonObject")
loJson.ObjectOf2("Sara",loJsonSara)

lnIndex1 = loJsonSara.IndexOf("DOB")
lnIndex2 = loJsonSara.IndexOf("country")
loJsonSara.Swap(lnIndex1,lnIndex2)

//  We now have this:
? loJson.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"
//    }
//  }


release loJson
release loJsonSara