forked from radiospiel/eep0018
-
Notifications
You must be signed in to change notification settings - Fork 1
Improves a bit over davisp's EEP0018
License
echou/eep0018
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Changes to davisp's EEP0018: 1. yajl_encode_string() adds an option "encode_utf8". If true, valid UTF-8 sequences are encoded to \uXXXX format, otherwise are output as is. Invalid sequences are still encoded to \u00XX format. 2. encode_json.c. The following erlang terms are encoded to json maps: * {[ {K,V}, ... ]}, this is the original one. * [ {K,V}, ... ], simplified notation * {struct, [{K,V}, ...]}, this is mochijson2's notation. still, [] is mapped to empty json array. {[]} means empty json map. 3. Rewrite eep0018.erl according to Driver's Efficiency Guide. 4. Simple makefile, no need to use autoconf mechanism. =========================================== This module strives to prepare an EEP0018 implemenation. It implements most of the functionality described there, with some additional features. YAJL ==== The parsing engine that drives behind that module is YAJL, see http://lloydforge.org/projects/yajl/. The source tree contains a copy of that library, currently at version 0.4.0. Differences to EEP 18 ======================= EEP 18's json_to_term function defines parsing of JSON objects. As CouchDB needs a JSON parser that is able to parse JSON values this implementation adds this functionality. Implemenation Status ==================== The current development is done on OS/X 10.5. Other OSes might need a tuned Makefile. Critical Discussion =================== For a critical discussion of JSON <-> Erlang interaction see here: http://fullof.bs/prototype-eep-18-considered-harmful-the-problems-with-erlang-to-json-term-translation#more-402 and http://sc.tri-bit.com/outgoing/scjson%20parser%20halp.html
About
Improves a bit over davisp's EEP0018
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
Languages
- C 66.4%
- Erlang 33.6%