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

Swap JSON Objects

See more JSON Examples

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

Chilkat Ruby Downloads

Ruby
require 'chilkat'

success = false

json = Chilkat::CkJsonObject.new()
json.put_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)
    print json.lastErrorText() + "\n";
    exit
end

#  Swap the positions of Jon and Sara.
index1 = json.IndexOf("Jon")
index2 = json.IndexOf("Sara")
json.Swap(index1,index2)

#  We have this now:
print json.emit() + "\n";

#  {
#    "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:

jsonSara = Chilkat::CkJsonObject.new()
json.ObjectOf2("Sara",jsonSara)

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

#  We now have this:
print json.emit() + "\n";

#  {
#    "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"
#    }
#  }