Hynek Vychodil 8 лет назад
Родитель
Сommit
6adf706cab
2 измененных файлов с 4 добавлено и 0 удалено
  1. 1 0
      src/jsone_encode.erl
  2. 3 0
      test/jsone_encode_tests.erl

+ 1 - 0
src/jsone_encode.erl

@@ -132,6 +132,7 @@ value(Value, Nexts, Buf, Opt) when ?IS_STR(Value)    -> string(Value, Nexts, Buf
 value({{_,_,_},{_,_,_}} = Value, Nexts, Buf, Opt)    -> datetime(Value, Nexts, Buf, Opt);
 value({Value}, Nexts, Buf, Opt)                      -> object(Value, Nexts, Buf, Opt);
 value([{}], Nexts, Buf, Opt)                         -> object([], Nexts, Buf, Opt);
+value([{{_,_,_},{_,_,_}}|_] = Value, Nexts, Buf, Opt)-> array(Value, Nexts, Buf, Opt);
 value([{_, _}|_] = Value, Nexts, Buf, Opt)           -> object(Value, Nexts, Buf, Opt);
 value(Value, Nexts, Buf, Opt) when ?IS_MAP(Value)    -> ?ENCODE_MAP(Value, Nexts, Buf, Opt);
 value(Value, Nexts, Buf, Opt) when is_list(Value)    -> array(Value, Nexts, Buf, Opt);

+ 3 - 0
test/jsone_encode_tests.erl

@@ -144,6 +144,9 @@ encode_test_() ->
               ?assertEqual({ok, <<"\"2015-06-25T14:57:25+00:01\"">>}, jsone_encode:encode({{2015,6,25},{14,57,25}}, [{datetime_format, {iso8601, 60}}])),
               ?assertEqual({ok, <<"\"2015-06-25T14:57:25-00:01\"">>}, jsone_encode:encode({{2015,6,25},{14,57,25}}, [{datetime_format, {iso8601, -60}}]))
       end},
+     {"datetime as head of array",
+       ?_assertEqual({ok, <<"[\"2015-06-25T14:57:25Z\"]">>},
+                      jsone_encode:encode([{{2015,6,25},{14,57,25}}]))},
 
      %% Arrays
      {"simple array",