Xbase++
Xbase++
Firebase JSON Put and Patch
See more JSON Examples
Demonstrates how to apply Firebase put and patch events to a JSON database.Chilkat Xbase++ Downloads
LOCAL cJson1
LOCAL oJson
cJson1 := '{"a": 1, "b": 2}'
oJson := CreateObject("Chilkat.JsonObject")
// Use Firebase delimiters for JSON paths.
oJson:DelimiterChar := "/"
oJson:Load(cJson1)
oJson:FirebasePut("/c", '{"foo": true, "bar": false}')
// Output should be: {"a":1,"b":2,"c":{"foo":true,"bar":false}}
? "1) " + oJson:Emit()
oJson:FirebasePut("/c", '"hello world"')
// Output should be: {"a":1,"b":2,"c":"hello world"}
? "2) " + oJson:Emit()
oJson:FirebasePut("/c", '{"foo": "abc", "bar": 123}')
// Output should be: {"a":1,"b":2,"c":{"foo":"abc","bar":123}}
? "3) " + oJson:Emit()
// Back to the original..
oJson:FirebasePut("/", '{"a": 1, "b": 2}')
? "4) " + oJson:Emit()
oJson:FirebasePut("/c", '{"foo": true, "bar": false}')
oJson:FirebasePatch("/c", '{"foo": 3, "baz": 4}')
// Output should be: {"a":1,"b":2,"c":{"foo":3,"bar":false,"baz":4}}
? "5) " + oJson:Emit()
oJson:FirebasePatch("/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}}}
? "6) " + oJson:Emit()
oJson:destroy()