All Downloads are FREE. Search and download functionalities are using the official Maven repository.

cn.ipokerface.weixin.utils.MapUtils Maven / Gradle / Ivy

There is a newer version: 1.5.0
Show newest version
package cn.ipokerface.weixin.utils;

import cn.ipokerface.weixin.Constant;
import cn.ipokerface.weixin.xml.ListSuffixResultSerializer;
import com.alibaba.fastjson.JSONObject;

import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;

/**
 * Created by       PokerFace
 * Create Date      2019-12-28.
 * Email:           [email protected]
 * Version          1.0.0
 * 

* Description: */ public class MapUtils { /** * 连接字符串 * * @param object * 对象 * @param encoder * 是否编码 * @param lowerCase * 是否转换小写 * @return */ public static String toJoinString(Object object, boolean encoder, boolean lowerCase) { Map map = new HashMap(); JSONObject obj = null; if (object instanceof String) { obj = JSONObject.parseObject((String) object); } else { obj = ListSuffixResultSerializer.serializeToJSON(object); } for (String key : obj.keySet()) { map.put(key, obj.getString(key)); } return toJoinString(map, encoder, lowerCase); } /** * 拼接字符串 * * @param map * 对象 * @param encoder * 是否编码 * @param lowerCase * 是否转换小写 * @return */ public static String toJoinString(Map map, boolean encoder, boolean lowerCase) { map.remove("sign"); map = new TreeMap(map); StringBuilder sb = new StringBuilder(); Set> set = map.entrySet(); try { if (encoder && lowerCase) { for (Map.Entry entry : set) { if (StringUtil.isBlank(entry.getValue())) { continue; } sb.append(entry.getKey().toLowerCase()) .append("=") .append(URLEncoder.encode(entry.getValue(), Constant.UTF_8.name())).append("&"); } } else if (encoder) { for (Map.Entry entry : set) { if (StringUtil.isBlank(entry.getValue())) { continue; } sb.append(entry.getKey()) .append("=") .append(URLEncoder.encode(entry.getValue(), Constant.UTF_8.name())).append("&"); } } else if (lowerCase) { for (Map.Entry entry : set) { if (StringUtil.isBlank(entry.getValue())) { continue; } sb.append(entry.getKey().toLowerCase()).append("=") .append(entry.getValue()).append("&"); } } else { for (Map.Entry entry : set) { if (StringUtil.isBlank(entry.getValue())) { continue; } sb.append(entry.getKey()).append("=") .append(entry.getValue()).append("&"); } } } catch (UnsupportedEncodingException e) { ; } sb.deleteCharAt(sb.length() - 1); return sb.toString(); } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy