在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; }