Details
-
Task
-
Resolution: Done
-
Major
-
None
Description
Developers want to use native object types within their app's view and controller layers and do not want to use Couchbase Lite document types directly within their view layers.
While providing a native document to object mapper for the supported language bindings is an option (see related ticket) and would alleviate native app development needs, having an API that would expose the Document as raw JSON would provide a great deal of flexibility as it would simplify integration with apps written in other languages (such as Javascript).
Hybrid/cross-platform app development technologies using JS is popular (see related ticket) and simplifying integration and improving developer experience would be desirable. In fact, exposing data as raw JSON would also simplify mapping to native types as there are built-in platform JSON serializers for that.
The implications of storing data in Fleece and exposing in JSON are understood but users need an option without having to do a lot of heavy lifting (maybe we provide mappers for that?)
https://forums.couchbase.com/t/accessing-couchbaselite-document-json/11407
https://forums.couchbase.com/t/how-do-i-store-a-complete-object-in-couchbase-beginner-c/7509
https://forums.couchbase.com/t/no-support-for-actual-json-in-couchbase-lite-android/
PRD Single Requirement captured as part of the N1QL Query API PRD
https://docs.google.com/document/d/103CYes0UQJ7y9-qtsy-vK8_Uziw_TdF-imhRBrNeOF8/edit#