include | ||
src | ||
test/cases | ||
.gitignore | ||
LICENSE | ||
makefile | ||
README.markdown | ||
rebar | ||
rebar.config |
jsx (v0.10.0)
a sane json implementation for erlang
quickstart
make
or ./rebar compile
jsx:json_to_term/1,2
takes a utf8 encoded (binary) json text and produces a term as detailed below
jsx:term_to_json/1,2
takes a term conforming to the mapping detailed below and produces a utf8 encoded (binary) json text
options for either are:
* `loose_unicode`
* `explicit_end`
* `escape_forward_slash`
use loose_unicode
to replace invalid utf8 sequences with u+FFFD instead of throwing an error
use explicit_end
when parsing binary streams with indeterminate ends, like naked integers or json values with trailing whitespace
use escape_forward_slash
to escape forward slashes, which is required to produce microsoft's silly date format
jsx:format/1,2
takes a utf8 encoded (binary) json text and produces the same, reformatted.
options are:
* {`space`, N}
* {`indent`, N}
the opt space
will insert N
spaces after every colon and comma, indent
will insert a newline after every comma and N
preceding spaces for every level of indent
erlang to json mapping
json | erlang |
---|---|
true , false and null |
the atoms true , false and null |
Number | integers if possible, floats if not |
String (also Key) | utf8 encoded binaries |
Array | [] or [Value, ...] |
Object | [{}] or [{Key, Value}, ...] |
license
jsx is copyright alisdair sullivan (alisdairsullivan@yahoo.ca) and released under the MIT license