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

Swap JSON Objects

See more JSON Examples

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

Chilkat Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loJson
LOCAL lnIndex1
LOCAL lnIndex2
LOCAL loJsonSara

lnSuccess = 0

loJson = CreateObject('Chilkat.JsonObject')
loJson.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"
*    }
*  }

lnSuccess = loJson.LoadFile("qa_data/json/people.json")
IF (lnSuccess = 0) THEN
    ? loJson.LastErrorText
    RELEASE loJson
    CANCEL
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('Chilkat.JsonObject')
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