派生自 projectDept/qhighschool

胡仁荣
2022-10-31 fe7381d6e8ec1f427408de0297ac7f41533202f6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
package com.qxueyou.scc.base.util;
 
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.StringTokenizer;
 
import org.apache.commons.lang3.StringUtils;
 
import com.alibaba.fastjson.JSON;
 
/**
 * String  ºÍ  map<String,String>µÄת»»
 * @author ody.yuan
 *
 */
public class StringMapUtils {
    
    /**
     * Map<String,String> ×ª String
     * 
     * @param map         ÐèҪת»»µÄmap
     * @return
     */
    public static String transMapToString(Map<String,String> map){
        
        if(null == map || map.isEmpty()){
            return "";
        }
        
        Entry<String,String> entry;
        StringBuffer sb = new StringBuffer();  
        for(Iterator<Entry<String, String>> iterator = map.entrySet().iterator(); iterator.hasNext();){
            entry = (Entry<String,String>)iterator.next();  
            sb.append(entry.getKey().toString()).append( "'" ).append(null==entry.getValue()?"":  
            entry.getValue().toString()).append (iterator.hasNext() ? "^" : "");  
        }  
          return sb.toString();  
    }  
    
    /**
     * µ÷ÓÃtransMapToString·½·¨ÓÐmapתµÃString£¬ÖØÐÂת»Ømap
     * 
     * @param mapString    µ÷ÓÃtransMapToString·½·¨ÓÐmapתµÃString
     * @return
     */
    public static Map<String,String> transStringToMap(String mapString){
        
        if(StringUtils.isBlank(mapString)){
            return new HashMap<String,String>(); 
        }
        
        Map<String,String> map = new HashMap<String,String>();  
        StringTokenizer items;  
        for(StringTokenizer entrys = new StringTokenizer(mapString, "^");entrys.hasMoreTokens();   
            map.put(items.nextToken(), items.hasMoreTokens() ? (String.valueOf(items.nextToken())) : null)){
            items = new StringTokenizer(entrys.nextToken(), "'");  
        } 
          return map;  
        }
    
    /**
     * json ×ª map
     * @param json
     */
    @SuppressWarnings("unchecked")
    public static Map<String,Object> json2Map(String json){ 
        
        Map<String,Object> map = (Map<String,Object>)JSON.parse(json); 
        
        return map ;
        
     }
    
    /**
     * map ×ª  json
     * @param json
     */
    public static String map2Json(Map<String,Object> map){ 
        
        String json = JSON.toJSONString(map,true);
        
        return json ;
     }
 
    /**
     * 
     * @param args
     */
    public static void main(String[] args) {
        
        String a = "{mobilePhone:'aa',userName:'123'}";
        Map<String,Object> m1 = json2Map(a);
        Entry<String,Object> entry1; 
        for(Iterator<Entry<String, Object>> iterator1 = m1.entrySet().iterator(); iterator1.hasNext();)  
        {  
            entry1 = (Entry<String,Object>)iterator1.next();
            System.out.println(entry1.getKey() + ":" + entry1.getValue());
        }
        
        Map<String,String> s = new HashMap<String,String>();
        s.put("qq", "3225545");
        s.put("moile", "133");
        s.put("name", "stkkk");
        
        Map<String,Object> s1 = new HashMap<String,Object>();
        s1.put("qq", "3225545");
        s1.put("moile", "133");
        s1.put("name", "stkkk");
        System.out.println(map2Json(s1));
        
        System.out.println(transMapToString(s));
        
        Map<String,String> m = transStringToMap("qq'3225545^moile'133^name'stkkk");
        Entry<String,String> entry; 
        for(Iterator<Entry<String, String>> iterator = m.entrySet().iterator(); iterator.hasNext();)  
          {  
            entry = (Entry<String,String>)iterator.next();
            System.out.println(entry.getKey() + ":" + entry.getValue());
          }
        
    }
 
}