Sample code for 30+ languages & platforms
Unicode C

Insert JSON Object into another JSON Object

See more JSON Examples

Demonstrates how to insert one JSON object into another. Effectively, the JSON object must be copied into the other..

Chilkat Unicode C Downloads

Unicode C
#include <C_CkJsonObjectW.h>

void ChilkatSample(void)
    {
    HCkJsonObjectW jsonA;
    HCkJsonObjectW jsonB;

    // Imagine we have two separate JSON objects.
    jsonA = CkJsonObjectW_Create();
    CkJsonObjectW_UpdateString(jsonA,L"animal",L"zebra");
    CkJsonObjectW_UpdateString(jsonA,L"colors[0]",L"white");
    CkJsonObjectW_UpdateString(jsonA,L"colors[1]",L"black");

    CkJsonObjectW_putEmitCompact(jsonA,FALSE);
    wprintf(L"%s\n",CkJsonObjectW_emit(jsonA));

    // jsonA contains:

    // {
    //   "animal": "zebra",
    //   "colors": [
    //     "white",
    //     "black"
    //   ]
    // }

    jsonB = CkJsonObjectW_Create();
    CkJsonObjectW_UpdateString(jsonB,L"type",L"mammal");
    CkJsonObjectW_UpdateBool(jsonB,L"carnivore",FALSE);

    CkJsonObjectW_putEmitCompact(jsonB,FALSE);
    wprintf(L"%s\n",CkJsonObjectW_emit(jsonB));

    // jsonB contains:

    // {
    //   "type": "mammal",
    //   "carnivore": false
    // }

    // Let's say we want to insert jsonB into jsonA to get this:

    // {
    //   "animal": "zebra",
    //   "info" " {
    //       "type": "mammal",
    //       "carnivore": false
    // 	},
    //   "colors": [
    //     "white",
    //     "black"
    //   ]
    // }

    CkJsonObjectW_AddObjectCopyAt(jsonA,1,L"info",jsonB);

    wprintf(L"%s\n",CkJsonObjectW_emit(jsonA));

    // The result is this:

    // {
    //   "animal": "zebra",
    //   "info": {
    //     "type": "mammal",
    //     "carnivore": false
    //   },
    //   "colors": [
    //     "white",
    //     "black"
    //   ]
    // }


    CkJsonObjectW_Dispose(jsonA);
    CkJsonObjectW_Dispose(jsonB);

    }