Sample code for 30+ languages & platforms
C

JSON AppendObjectCopy Example

Demonstrates the AppendObjectCopy function.

Note: This example requires Chilkat v9.5.0.82 or above.

Chilkat C Downloads

C
#include <C_CkJsonObject.h>

void ChilkatSample(void)
    {
    HCkJsonObject json;
    HCkJsonObject json2;

    json = CkJsonObject_Create();
    CkJsonObject_Load(json,"{ \"name\": \"John\", \"marbles\": 100 }");

    json2 = CkJsonObject_Create();
    CkJsonObject_Load(json2,"{\"street\":\"1200 Elm St.\",\"city\":\"Springfield\",\"zip\":60606}");

    //  Copy the contents of json2 to a new member object named "addr".
    CkJsonObject_AppendObjectCopy(json,"addr",json2);

    printf("%s\n",CkJsonObject_emit(json));
    //  Expected output is:  {"name":"John","marbles":100,"addr":{"street":"1200 Elm St.","city":"Springfield","zip":60606}}

    //  Note: Modifying the contents of json does not modify the contents of json2 (because the contents of json2 were copied).
    //  For example:
    CkJsonObject_UpdateString(json,"addr.street","1000 Oak St.");
    printf("%s\n",CkJsonObject_emit(json));
    //  Expected output is:  {"name":"John","marbles":100,"addr":{"street":"1000 Oak St.","city":"Springfield","zip":60606}}

    printf("%s\n",CkJsonObject_emit(json2));
    //  Expected output is: {"street":"1200 Elm St.","city":"Springfield","zip":60606}


    CkJsonObject_Dispose(json);
    CkJsonObject_Dispose(json2);

    }