Sample code for 30+ languages & platforms
Delphi DLL

Firebase JSON Put and Patch

See more JSON Examples

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

Chilkat Delphi DLL Downloads

Delphi DLL
uses
    Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
    Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, JsonObject;

...

procedure TForm1.Button1Click(Sender: TObject);
var
json1: PWideChar;
json: HCkJsonObject;

begin
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}}
Memo1.Lines.Add('1) ' + CkJsonObject__emit(json));

CkJsonObject_FirebasePut(json,'/c','"hello world"');
// Output should be: {"a":1,"b":2,"c":"hello world"}
Memo1.Lines.Add('2) ' + CkJsonObject__emit(json));

CkJsonObject_FirebasePut(json,'/c','{"foo": "abc", "bar": 123}');
// Output should be: {"a":1,"b":2,"c":{"foo":"abc","bar":123}}
Memo1.Lines.Add('3) ' + CkJsonObject__emit(json));

// Back to the original..
CkJsonObject_FirebasePut(json,'/','{"a": 1, "b": 2}');
Memo1.Lines.Add('4) ' + 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}}
Memo1.Lines.Add('5) ' + 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}}}
Memo1.Lines.Add('6) ' + CkJsonObject__emit(json));

CkJsonObject_Dispose(json);

end;