diff --git a/src/jsx_decoder.erl b/src/jsx_decoder.erl index 96619ff..8355672 100644 --- a/src/jsx_decoder.erl +++ b/src/jsx_decoder.erl @@ -203,26 +203,6 @@ object(Bin, Handler, Stack, Opts) -> ?error([Bin, Handler, Stack, Opts]). -array(<>, Handler, Stack, Opts) -> - string(Rest, Handler, [?new_seq()|Stack], Opts); -array(<>, Handler, Stack, Opts = #opts{single_quoted_strings=true}) -> - string(Rest, Handler, [?new_seq(), single_quote|Stack], Opts); -array(<<$t, Rest/binary>>, Handler, Stack, Opts) -> - tr(Rest, Handler, Stack, Opts); -array(<<$f, Rest/binary>>, Handler, Stack, Opts) -> - fa(Rest, Handler, Stack, Opts); -array(<<$n, Rest/binary>>, Handler, Stack, Opts) -> - nu(Rest, Handler, Stack, Opts); -array(<>, Handler, Stack, Opts) -> - negative(Rest, Handler, [[$-]|Stack], Opts); -array(<>, Handler, Stack, Opts) -> - zero(Rest, Handler, [[$0]|Stack], Opts); -array(<>, Handler, Stack, Opts) when ?is_nonzero(S) -> - integer(Rest, Handler, [[S]|Stack], Opts); -array(<>, Handler, Stack, Opts) -> - object(Rest, handle_event(start_object, Handler, Opts), [key|Stack], Opts); -array(<>, Handler, Stack, Opts) -> - array(Rest, handle_event(start_array, Handler, Opts), [array|Stack], Opts); array(<>, Handler, [array|Stack], Opts) -> maybe_done(Rest, handle_event(end_array, Handler, Opts), Stack, Opts); array(<>, Handler, Stack, Opts) when ?is_whitespace(S) -> @@ -232,7 +212,7 @@ array(<>, Handler, Stack, Opts=#opts{comments=true}) -> array(<<>>, Handler, Stack, Opts) -> ?incomplete(array, <<>>, Handler, Stack, Opts); array(Bin, Handler, Stack, Opts) -> - ?error([Bin, Handler, Stack, Opts]). + value(Bin, Handler, Stack, Opts). colon(<>, Handler, [key|Stack], Opts) ->