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