CouchDB, version 0.10.0, using native erlang views.
I have a simple document of the form:
{
\"_id\": \"user-1\",
\"_rev\": \"1-9ccf63b66b62d15d
The JSON object {"foo":"bar","baz":1} is {[{<<"foo">>,<<"bar">>},{<<"baz">>,1}]}
In Erlang lingua it is a proplist wrapped in a tuple.
It's not pretty, but very efficient :)
To get a feel for it you can play with the JSON lib that ships with CouchDB:
couch_util:json_decode(<<"{\"foo\":\"bar\"}">>).// in later versions of CouchDB, this is ejson:decode()