Sample code for 30+ languages & platforms
Ruby

JSON Copy Objects

See more JSON Examples

Copy objects from one JSON document to another.

Chilkat Ruby Downloads

Ruby
require 'chilkat'

json1 = Chilkat::CkJsonObject.new()
json1.UpdateString("ID1.cn","Name")
json1.UpdateString("ID1.objectGUID","GUID")
json1.UpdateString("ID2.cn","Name")
json1.UpdateString("ID2.objectGUID","GUID")

json1.put_EmitCompact(false)
print json1.emit() + "\n";

# json1 contains:
# {
#   "ID1": {
#     "cn": "Name",
#     "objectGUID": "GUID"
#   },
#   "ID2": {
#     "cn": "Name",
#     "objectGUID": "GUID"
#   }
# }

json2 = Chilkat::CkJsonObject.new()
json2.UpdateString("Name1.ID1.cn","Name")
json2.UpdateString("Name1.ID1.objectGUID","GUID")
json2.UpdateString("Name1.ID2.cn","Name")
json2.UpdateString("Name1.ID2.objectGUID","GUID")
json2.UpdateString("Name2.ID3.cn","Name")
json2.UpdateString("Name2.ID3.objectGUID","GUID")

json2.put_EmitCompact(false)
print json2.emit() + "\n";

# {
#   "Name1": {
#     "ID1": {
#       "cn": "Name",
#       "objectGUID": "GUID"
#     },
#     "ID2": {
#       "cn": "Name",
#       "objectGUID": "GUID"
#     }
#   },
#   "Name2": {
#     "ID3": {
#       "cn": "Name",
#       "objectGUID": "GUID"
#     }
#   }
# }

# Copy Name1, Name2 into json1

i = 0
numMembers = json2.get_Size()
while i < numMembers
    # jsonObj is a CkJsonObject
    jsonObj = json2.ObjectAt(i)
    json1.AppendObjectCopy(json2.nameAt(i),jsonObj)
    i = i + 1
end

# Now see what json1 contains:
print json1.emit() + "\n";

# {
#   "ID1": {
#     "cn": "Name",
#     "objectGUID": "GUID"
#   },
#   "ID2": {
#     "cn": "Name",
#     "objectGUID": "GUID"
#   },
#   "Name1": {
#     "ID1": {
#       "cn": "Name",
#       "objectGUID": "GUID"
#     },
#     "ID2": {
#       "cn": "Name",
#       "objectGUID": "GUID"
#     }
#   },
#   "Name2": {
#     "ID3": {
#       "cn": "Name",
#       "objectGUID": "GUID"
#     }
#   }
# }