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