Sample code for 30+ languages & platforms
Xbase++

JSON Copy Objects

See more JSON Examples

Copy objects from one JSON document to another.

Chilkat Xbase++ Downloads

Xbase++
LOCAL oJson1
LOCAL oJson2
LOCAL i
LOCAL nNumMembers
LOCAL oJsonObj

oJson1 := CreateObject("Chilkat.JsonObject")
oJson1:UpdateString("ID1.cn", "Name")
oJson1:UpdateString("ID1.objectGUID", "GUID")
oJson1:UpdateString("ID2.cn", "Name")
oJson1:UpdateString("ID2.objectGUID", "GUID")

oJson1:EmitCompact := 0
? oJson1:Emit()

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

oJson2 := CreateObject("Chilkat.JsonObject")
oJson2:UpdateString("Name1.ID1.cn", "Name")
oJson2:UpdateString("Name1.ID1.objectGUID", "GUID")
oJson2:UpdateString("Name1.ID2.cn", "Name")
oJson2:UpdateString("Name1.ID2.objectGUID", "GUID")
oJson2:UpdateString("Name2.ID3.cn", "Name")
oJson2:UpdateString("Name2.ID3.objectGUID", "GUID")

oJson2:EmitCompact := 0
? oJson2:Emit()

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

//  Copy Name1, Name2 into json1

i := 0
nNumMembers := oJson2:Size
DO WHILE i < nNumMembers
    oJsonObj := oJson2:ObjectAt(i)
    oJson1:AppendObjectCopy(oJson2:NameAt(i), oJsonObj)
    i := i + 1
ENDDO

//  Now see what json1 contains:
? oJson1:Emit()

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

oJson1:destroy()
oJson2:destroy()