Sample code for 30+ languages & platforms
Visual FoxPro

JSON Copy Objects

See more JSON Examples

Copy objects from one JSON document to another.

Chilkat Visual FoxPro Downloads

Visual FoxPro
LOCAL loJson1
LOCAL loJson2
LOCAL i
LOCAL lnNumMembers
LOCAL loJsonObj

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

loJson1.EmitCompact = 0
? loJson1.Emit()

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

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

loJson2.EmitCompact = 0
? loJson2.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
lnNumMembers = loJson2.Size
DO WHILE i < lnNumMembers
    loJsonObj = loJson2.ObjectAt(i)
    loJson1.AppendObjectCopy(loJson2.NameAt(i),loJsonObj)
    i = i + 1
ENDDO

* Now see what json1 contains:
? loJson1.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"
*     }
*   }
* }

RELEASE loJson1
RELEASE loJson2