Sample code for 30+ languages & platforms
C

Firebase JSON Put and Patch

See more JSON Examples

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

Chilkat C Downloads

C
#include <C_CkJsonObject.h>

void ChilkatSample(void)
    {
    const char *json1;
    HCkJsonObject json;

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

    json = CkJsonObject_Create();

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

    CkJsonObject_Load(json,json1);
    CkJsonObject_FirebasePut(json,"/c","{\"foo\": true, \"bar\": false}");
    // Output should be: {"a":1,"b":2,"c":{"foo":true,"bar":false}}
    printf("1) %s\n",CkJsonObject_emit(json));

    CkJsonObject_FirebasePut(json,"/c","\"hello world\"");
    // Output should be: {"a":1,"b":2,"c":"hello world"}
    printf("2) %s\n",CkJsonObject_emit(json));

    CkJsonObject_FirebasePut(json,"/c","{\"foo\": \"abc\", \"bar\": 123}");
    // Output should be: {"a":1,"b":2,"c":{"foo":"abc","bar":123}}
    printf("3) %s\n",CkJsonObject_emit(json));

    // Back to the original..
    CkJsonObject_FirebasePut(json,"/","{\"a\": 1, \"b\": 2}");
    printf("4) %s\n",CkJsonObject_emit(json));

    CkJsonObject_FirebasePut(json,"/c","{\"foo\": true, \"bar\": false}");
    CkJsonObject_FirebasePatch(json,"/c","{\"foo\": 3, \"baz\": 4}");
    // Output should be: {"a":1,"b":2,"c":{"foo":3,"bar":false,"baz":4}}
    printf("5) %s\n",CkJsonObject_emit(json));

    CkJsonObject_FirebasePatch(json,"/c","{\"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}}}
    printf("6) %s\n",CkJsonObject_emit(json));


    CkJsonObject_Dispose(json);

    }