JAVA/AndroidMap与String的转换方法

12/12/2015来源:Java教程人气:2819

 

在Android开发中 Map与String的转换在,在一些需求中经常用到,使用net.sf.json.JSONObject.fromObject可以方便的将string转为Map。但需要导入jar包。在(android)容易导致资源浪费。下面的方法在不到入jar包的情况下,也能满足需求。

1)将Map转成形如username'chenziwen^passWord'1234的字符串

/** 
 * 方法名称:transMapToString 
 * 传入参数:map 
 * 返回值:String 形如 username'chenziwen^password'1234 
*/  
public static String transMapToString(Map map){  
  java.util.Map.Entry entry;  
  StringBuffer sb = new StringBuffer();  
  for(Iterator iterator = map.entrySet().iterator(); iterator.hasNext();)  
  {  
    entry = (java.util.Map.Entry)iterator.next();  
      sb.append(entry.getKey().toString()).append( "'" ).append(null==entry.getValue()?"":  
      entry.getValue().toString()).append (iterator.hasNext() ? "^" : "");  
  }  
  return sb.toString();  
}  

2)将形如形如username'chenziwen^password'1234的字符串转成Map

/** 
 * 方法名称:transStringToMap 
 * 传入参数:mapString 形如 username'chenziwen^password'1234 
 * 返回值:Map 
*/  
public static Map transStringToMap(String mapString){  
  Map map = new HashMap();  
  java.util.StringTokenizer items;  
  for(StringTokenizer entrys = new StringTokenizer(mapString, "^");entrys.hasMoreTokens();   
    map.put(items.nextToken(), items.hasMoreTokens() ? ((Object) (items.nextToken())) : null))  
      items = new StringTokenizer(entrys.nextToken(), "'");  
  return map;  
}