Back to Atomvm

Module json

main-apidocs-erlang-estdlib-json.md

latest5.7 KB
Original Source

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()