Module json

Data Types

array_finish_fun()


array_finish_fun() = fun((ArrayAcc::term(), OldAcc::term()) -> {term(), term()})

array_push_fun()


array_push_fun() = fun((Value::term(), Acc::term()) -> NewAcc::term())

array_start_fun()


array_start_fun() = fun((Acc::term()) -> ArrayAcc::term())

continuation_state()

abstract datatype: continuation_state()

decode_value()


decode_value() = integer() | float() | boolean() | null | binary() | [decode_value()] | #{binary() => decode_value()}

decoders()


decoders() = #{array_start => array_start_fun(), array_push => array_push_fun(), array_finish => array_finish_fun(), object_start => object_start_fun(), object_push => object_push_fun(), object_finish => object_finish_fun(), float => from_binary_fun(), integer => from_binary_fun(), string => from_binary_fun(), null => term()}

encode_map()


encode_map(Value) = #{binary() | atom() | integer() => Value}

encode_value()


encode_value() = integer() | float() | boolean() | null | binary() | atom() | [encode_value()] | encode_map(encode_value())

encoder()


encoder() = fun((term(), encoder()) -> iodata())

from_binary_fun()


from_binary_fun() = fun((binary()) -> term())

object_finish_fun()


object_finish_fun() = fun((ObjectAcc::term(), OldAcc::term()) -> {term(), term()})

object_push_fun()


object_push_fun() = fun((Key::term(), Value::term(), Acc::term()) -> NewAcc::term())

object_start_fun()


object_start_fun() = fun((Acc::term()) -> ObjectAcc::term())

Function Index

decode/1
decode/3
decode_continue/2
decode_start/3
encode/1
encode/2
encode_atom/2
encode_binary/1
encode_binary_escape_all/1
encode_float/1
encode_integer/1
encode_key_value_list/2
encode_key_value_list_checked/2
encode_list/2
encode_map/2
encode_map_checked/2
encode_value/2

Function Details

decode/1


decode(Bin::binary()) -> decode_value()

decode/3


decode(Bin::binary(), Acc::term(), Decoders::decoders()) -> {Result::term(), Acc::term(), binary()}

decode_continue/2


decode_continue(NewData::binary() | end_of_input, State::continuation_state()) -> {Result::term(), Acc::term(), binary()} | {continue, continuation_state()}

decode_start/3


decode_start(Bin::binary(), Acc::term(), Decoders::decoders()) -> {Result::term(), Acc::term(), binary()} | {continue, continuation_state()}

encode/1


encode(Term::encode_value()) -> iodata()

encode/2


encode(Term::term(), Encoder::encoder()) -> iodata()

encode_atom/2


encode_atom(Atom::atom(), Encoder::encoder()) -> iodata()

encode_binary/1


encode_binary(Bin::binary()) -> iodata()

encode_binary_escape_all/1


encode_binary_escape_all(Bin::binary()) -> iodata()

encode_float/1


encode_float(Float::float()) -> iodata()

encode_integer/1


encode_integer(Int::integer()) -> iodata()

encode_key_value_list/2


encode_key_value_list(List::[{term(), term()}], Encoder::encoder()) -> iodata()

encode_key_value_list_checked/2


encode_key_value_list_checked(List::[{term(), term()}], Encoder::encoder()) -> iodata()

encode_list/2


encode_list(T::list(), Encoder::encoder()) -> iodata()

encode_map/2


encode_map(Map::encode_map(term()), Encoder::encoder()) -> iodata()

encode_map_checked/2


encode_map_checked(Map::map(), Encoder::encoder()) -> iodata()

encode_value/2


encode_value(Atom::term(), Encoder::encoder()) -> iodata()