Sample code for 30+ languages & platforms
Ruby

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