Xbase++
Xbase++
JSON Copy Objects
See more JSON Examples
Copy objects from one JSON document to another.Chilkat Xbase++ Downloads
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()