网站开发应聘信息,苏州商城网站建设电话,网站开发api中文手册chm,网站建设捌金手指专业7由于公众号换了公司主体#xff0c;需要做迁移#xff0c;玩家的openId数据需要做处理。 (我是按我要的json格式#xff0c;将粉丝导成了1万条数据的一个json文件) 文件格式#xff1a; {info:[{openId:ogVous494ltuNmO4zHb1seHeGLSk}… 由于公众号换了公司主体需要做迁移玩家的openId数据需要做处理。 (我是按我要的json格式将粉丝导成了1万条数据的一个json文件) 文件格式 {info:[{openId:ogVous494ltuNmO4zHb1seHeGLSk}]
} package exportFansFromPublic;import java.io.FileWriter;
import java.io.PrintWriter;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.odao.weixin.api.support.AccessTokenKit;
import com.odao.weixin.api.support.HttpKit;/*** 导出公众号粉丝* author wangfj*/
public class ExportFansFromPublic { SuppressWarnings({ unchecked, static-access,rawtypes})public static void main(String[] args) throws Exception { String token AccessTokenKit.getTokenNew(appId, app秘钥);String accesstoken (String) ((Map) JSON.parseObject(token, Map.class)).get(access_token);MapString,String params new HashMapString,String();params.put(access_token, accesstoken);String nextOpenId ;for(int i1;i50;i){ //我这了定的50是根据公众号粉丝数量来的一个文件一万条你们自己算if(!.equals(nextOpenId)){params.put(next_openid, nextOpenId);}//根据appId,appSecret获取数据粉丝openId(1次1万条)//格式{data{openid:[oneOpenId,twoOpenId]},next_openid:theNextOpenId}try{String data HttpKit.get(https://api.weixin.qq.com/cgi-bin/user/get,params);JSONObject json (JSONObject) JSONObject.parse(data);String openId json.get(data).toString();JSONObject open (JSONObject) JSONObject.parse(openId);String openIds open.get(openid).toString();JSONArray arr JSONObject.parseArray(openIds);ListString list arr.toJavaObject(arr, List.class);nextOpenId writerJson(list,i);}catch(Exception e){System.out.println(导出完毕);break;} }}public static String writerJson(ListString list,int fileName){String nextOpenId ;FileWriter fw null; PrintWriter out null; try { // 指定生成txt的文件路径 fw new FileWriter(C:/Users/admin/Desktop/fan/fileName.json); out new PrintWriter(fw); out.println({);out.println(\t\info\:[);for(int i0;ilist.size();i){if(i!list.size()-1){out.println(\t\t{\openId\:\list.get(i)\},);}else{nextOpenId list.get(i);out.println(\t\t{\openId\:\list.get(i)\});}}out.println(\t]);out.println(});} catch (Exception e) { e.printStackTrace();} finally { try { out.close(); fw.close(); out.flush(); // 由于此处用到了缓冲流如果数据量过大不进行flush操作某些数据将依旧 存在于内从中而不会写入文件此问题一定要注意 } catch (Exception e) { e.printStackTrace(); } } return nextOpenId;}
} 转载于:https://www.cnblogs.com/wangfajun/p/8399585.html