Sample code for 30+ languages & platforms
Unicode C

Firebase JSON Put and Patch

See more JSON Examples

Demonstrates how to apply Firebase put and patch events to a JSON database.

Chilkat Unicode C Downloads

Unicode C
#include <C_CkJsonObjectW.h>

void ChilkatSample(void)
    {
    const wchar_t *json1;
    HCkJsonObjectW json;

    json1 = L"{\"a\": 1, \"b\": 2}";

    json = CkJsonObjectW_Create();

    // Use Firebase delimiters for JSON paths.
    CkJsonObjectW_putDelimiterChar(json,L"/");

    CkJsonObjectW_Load(json,json1);
    CkJsonObjectW_FirebasePut(json,L"/c",L"{\"foo\": true, \"bar\": false}");
    // Output should be: {"a":1,"b":2,"c":{"foo":true,"bar":false}}
    wprintf(L"1) %s\n",CkJsonObjectW_emit(json));

    CkJsonObjectW_FirebasePut(json,L"/c",L"\"hello world\"");
    // Output should be: {"a":1,"b":2,"c":"hello world"}
    wprintf(L"2) %s\n",CkJsonObjectW_emit(json));

    CkJsonObjectW_FirebasePut(json,L"/c",L"{\"foo\": \"abc\", \"bar\": 123}");
    // Output should be: {"a":1,"b":2,"c":{"foo":"abc","bar":123}}
    wprintf(L"3) %s\n",CkJsonObjectW_emit(json));

    // Back to the original..
    CkJsonObjectW_FirebasePut(json,L"/",L"{\"a\": 1, \"b\": 2}");
    wprintf(L"4) %s\n",CkJsonObjectW_emit(json));

    CkJsonObjectW_FirebasePut(json,L"/c",L"{\"foo\": true, \"bar\": false}");
    CkJsonObjectW_FirebasePatch(json,L"/c",L"{\"foo\": 3, \"baz\": 4}");
    // Output should be: {"a":1,"b":2,"c":{"foo":3,"bar":false,"baz":4}}
    wprintf(L"5) %s\n",CkJsonObjectW_emit(json));

    CkJsonObjectW_FirebasePatch(json,L"/c",L"{\"foo\": \"abc123\", \"baz\": {\"foo\": true, \"bar\": false}, \"bax\": {\"foo\": 200, \"bar\": 400} }");
    // Output should be: {"a":1,"b":2,"c":{"foo":"abc123","bar":false,"baz":{"foo":true,"bar":false},"bax":{"foo":200,"bar":400}}}
    wprintf(L"6) %s\n",CkJsonObjectW_emit(json));


    CkJsonObjectW_Dispose(json);

    }