anchor.diff:      Bodys = [[{mqtt_client,  Tab},
   	     {clientId, ClientId}, 
   	     {ipaddress, list_to_binary(emqttd_net:ntoa(Ipaddr))}] || {Tab, ClientId, Ipaddr, _Password} <- Clients],
  -    JsonData = 
  -    if length(Bodys) == 0 ->
  -	<<"\[\]">>;
  -    true ->
  -        list_to_binary(mochijson2:encode(Bodys) ++ <<10>>)
  -    end,
  -    Req:respond({200, [{"Content-Type","application/json"}], JsonData});
  -
  +    api_respond(Req, Bodys);
  +    
   %%-----------------------------------session--------------------------------------
   %%sessin check api
   api(session, Req) ->
  
positive.code: 	     {node, Node} 
  	     ] || {Tab, Topic, Node} <- TopicLists],
   
      JsonData = list_to_binary(mochijson2:encode(Bodys) ++ <<10>>), 
      Req:respond({200, [{"Content-Type","application/json"}], JsonData});
  
  %%-----------------------------------subscribe--------------------------------------
  %%subscribe api
  api(subscriber, Req) ->
  
negative.code: 	     {ipaddress, list_to_binary(emqttd_net:ntoa(Ip))}, 
  	     {session, CleanSession}] || {Tab, ClientId, _Pid, Ip, _, _, CleanSession, _ }
  	    <- emqttd_vm:get_ets_object(SessionsTab)],
      api_respond(Req, Bodys);
     
  %%-----------------------------------topic--------------------------------------
  %%topic api
  api(topic, Req) ->
  