-module(adm).
-export([items/1, do_items/2, json_decode/1, main/1]).
%% @doc 物品格式化
-spec items(list()) -> list().
items(Items) ->
do_items(Items, []).
do_items([], Items) ->
Items;
do_items([[Bid, Bind, Num] | T], Items) when is_list(Bid), is_list(Bind), is_integer(Num) ->
do_items(T, [{list_to_integer(Bid), list_to_integer(Bind), Num} | Items]);
do_items([[Bid, Bind, Num] | T], Items) when is_integer(Bid), is_integer(Bind), is_integer(Num) ->
do_items(T, [{Bid, Bind, Num} | Items]);
do_items([{Bid, Bind, Num} | T], Items) ->
do_items(T, [{Bid, Bind, Num} | Items]).
%% JSON解码函数
json_decode(Binary) ->
case jiffy:decode(Binary) of
[InnerList] when is_list(InnerList) ->
InnerList;
_ ->
[]
end.
%% 测试函数
test() ->
%% JSON格式的二进制字符串
Binary = <<"[[1,1,1982]]">>,
%% 解码JSON
JsonList = json_decode(Binary),
%% 调用items函数
Result = items(JsonList),
%% 打印结果
io:format("Result: ~p~n", [Result]).
%% 确保测试函数在模块启动时被调用
main(_) ->
test().