Map转换json字符串

/**
* map 转 java对象
*
* @param map
* @param beanClass
* @return
* @throws Exception
*/

public static Object mapToObject(Map<String, String> map, Class<?> beanClass) throws Exception {
    if (map == null)
        return null;

    Object obj = beanClass.newInstance();

    BeanInfo beanInfo = Introspector.getBeanInfo(obj.getClass());
    PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
    for (PropertyDescriptor property : propertyDescriptors) {
        Method setter = property.getWriteMethod();
        if (setter != null) {
            setter.invoke(obj, map.get(property.getName()));
        }
    }

    return obj;
}

/**
* map转str
*
* @param map
* @return
*/

public static String getMapToString(Map<String, String> map) {
    Set<String> keySet = map.keySet();
    //将set集合转换为数组
    String[] keyArray = keySet.toArray(new String[keySet.size()]);
    //给数组排序(升序)
    Arrays.sort(keyArray);
    //因为String拼接效率会很低的,所以转用StringBuilder
    StringBuilder sb = new StringBuilder();
    for (int i = 0; i < keyArray.length; i++) {
        // 参数值为空,则不参与签名 这个方法trim()是去空格
        if (map.get(keyArray[i]).trim().length() > 0) {
            sb.append(keyArray[i]).append("=").append(map.get(keyArray[i]).trim());
        }
        if (i != keyArray.length - 1) {
            sb.append("&");
        }
    }
    return sb.toString();
}

转json字符串

public static String toJson(Map<String,String> map){
    Set<String> keys = map.keySet();
    String key = "";
    String value = "";
    StringBuffer jsonBuffer = new StringBuffer();
    jsonBuffer.append("{");
    for(Iterator<String> it = keys.iterator(); it.hasNext();){
        key =  (String)it.next();
        value = map.get(key);
        jsonBuffer.append(key+":"+value);
        if(it.hasNext()){
            jsonBuffer.append(",");
        }
    }
    jsonBuffer.append("}");
    return jsonBuffer.toString();
}


public static String toJson2(Map<String,String> map){
	Set<Map.Entry<String, String>> entrys = map.entrySet();
	Map.Entry<String, String> entry = null;
    String key = "";
    String value = "";
    StringBuffer jsonBuffer = new StringBuffer();
    jsonBuffer.append("{");    
    for(Iterator<Map.Entry<String, String>> it = entrys.iterator();it.hasNext();){
    	entry =  (Map.Entry<String, String>)it.next();
    	key = entry.getKey();
        value = entry.getValue();
        jsonBuffer.append(key+":"+value);
        if(it.hasNext()){
             jsonBuffer.append(",");
        }
    }
    jsonBuffer.append("}");
    return jsonBuffer.toString();
}

import net.sf.json.JSONObject;

JSONObject jsonObject = JSONObject.fromObject(hashmap);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值