Sample code for 30+ languages & platforms
DataFlex

Firebase JSON Put and Patch

See more JSON Examples

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

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    String sJson1
    Handle hoJson
    Boolean iSuccess
    String sTemp1

    Move '{"a": 1, "b": 2}' To sJson1

    Get Create (RefClass(cComChilkatJsonObject)) To hoJson
    If (Not(IsComObjectCreated(hoJson))) Begin
        Send CreateComObject of hoJson
    End

    // Use Firebase delimiters for JSON paths.
    Set ComDelimiterChar Of hoJson To "/"

    Get ComLoad Of hoJson sJson1 To iSuccess
    Get ComFirebasePut Of hoJson "/c" '{"foo": true, "bar": false}' To iSuccess
    // Output should be: {"a":1,"b":2,"c":{"foo":true,"bar":false}}
    Get ComEmit Of hoJson To sTemp1
    Showln "1) " sTemp1

    Get ComFirebasePut Of hoJson "/c" '"hello world"' To iSuccess
    // Output should be: {"a":1,"b":2,"c":"hello world"}
    Get ComEmit Of hoJson To sTemp1
    Showln "2) " sTemp1

    Get ComFirebasePut Of hoJson "/c" '{"foo": "abc", "bar": 123}' To iSuccess
    // Output should be: {"a":1,"b":2,"c":{"foo":"abc","bar":123}}
    Get ComEmit Of hoJson To sTemp1
    Showln "3) " sTemp1

    // Back to the original..
    Get ComFirebasePut Of hoJson "/" '{"a": 1, "b": 2}' To iSuccess
    Get ComEmit Of hoJson To sTemp1
    Showln "4) " sTemp1

    Get ComFirebasePut Of hoJson "/c" '{"foo": true, "bar": false}' To iSuccess
    Get ComFirebasePatch Of hoJson "/c" '{"foo": 3, "baz": 4}' To iSuccess
    // Output should be: {"a":1,"b":2,"c":{"foo":3,"bar":false,"baz":4}}
    Get ComEmit Of hoJson To sTemp1
    Showln "5) " sTemp1

    Get ComFirebasePatch Of hoJson "/c" '{"foo": "abc123", "baz": {"foo": true, "bar": false}, "bax": {"foo": 200, "bar": 400} }' To iSuccess
    // Output should be: {"a":1,"b":2,"c":{"foo":"abc123","bar":false,"baz":{"foo":true,"bar":false},"bax":{"foo":200,"bar":400}}}
    Get ComEmit Of hoJson To sTemp1
    Showln "6) " sTemp1


End_Procedure