JAVA/Android Map与String的转换方法

时间:2023-03-08 16:09:55

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