Sample code for 30+ languages & platforms
Tcl

Firebase JSON Put and Patch

See more JSON Examples

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

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

set json1 "{\"a\": 1, \"b\": 2}"

set json [new_CkJsonObject]

# Use Firebase delimiters for JSON paths.
CkJsonObject_put_DelimiterChar $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}}
puts "1) [CkJsonObject_emit $json]"

CkJsonObject_FirebasePut $json "/c" "\"hello world\""
# Output should be: {"a":1,"b":2,"c":"hello world"}
puts "2) [CkJsonObject_emit $json]"

CkJsonObject_FirebasePut $json "/c" "{\"foo\": \"abc\", \"bar\": 123}"
# Output should be: {"a":1,"b":2,"c":{"foo":"abc","bar":123}}
puts "3) [CkJsonObject_emit $json]"

# Back to the original..
CkJsonObject_FirebasePut $json "/" "{\"a\": 1, \"b\": 2}"
puts "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}}
puts "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}}}
puts "6) [CkJsonObject_emit $json]"

delete_CkJsonObject $json