Java:JSON与Map相互转换

需要jar包:jackson-core-2.6.0.jar,jackson-databind-2.6.0.jar,jackson-annotations-2.6.0.jar

1. JSON String to Map

[java]  view plain  copy
  1. package com.inspur.trc.util;  
  2.   
  3. import java.util.HashMap;  
  4. import java.util.Map;  
  5.   
  6. import com.fasterxml.jackson.core.type.TypeReference;  
  7. import com.fasterxml.jackson.databind.ObjectMapper;  
  8.   
  9. public class Json2Map {  
  10.     public static void main(String[] args) {  
  11.         String json = "{\"name\":\"zitong\", \"age\":\"26\"}";  
  12.         Map map = new HashMap();  
  13.         ObjectMapper mapper = new ObjectMapper();  
  14.           
  15.         try{  
  16.             map = mapper.readValue(json, new TypeReference>(){});  
  17.             System.out.println(map);  
  18.         }catch(Exception e){  
  19.             e.printStackTrace();  
  20.         }  
  21.     }  
  22. }  
运行结果:
[html]  view plain  copy
  1. {age=26name=zitong}  

2. Map to JSON String

[java]  view plain  copy
  1. package com.inspur.trc.util;  
  2.   
  3. import java.util.HashMap;  
  4. import java.util.Map;  
  5.   
  6. import com.fasterxml.jackson.databind.ObjectMapper;  
  7.   
  8. public class Map2Json {  
  9.     public static void main(String[] args){  
  10.         try{  
  11.             ObjectMapper mapper = new ObjectMapper();  
  12.             String json = "";  
  13.               
  14.             Map map = new HashMap();  
  15.             map.put("name""zitong");  
  16.             map.put("age""26");  
  17.               
  18.             json = mapper.writeValueAsString(map);  
  19.               
  20.             System.out.println(json);  
  21.         }catch(Exception e){  
  22.             e.printStackTrace();  
  23.         }  
  24.     }  
  25. }  
运行结果:
[html]  view plain  copy
  1. {"age":"26","name":"zitong"}  

3. Map to JSON File

[java]  view plain  copy
  1. package com.inspur.trc.util;  
  2.   
  3. import java.io.File;  
  4. import java.util.ArrayList;  
  5. import java.util.HashMap;  
  6. import java.util.List;  
  7. import java.util.Map;  
  8.   
  9. import com.fasterxml.jackson.databind.ObjectMapper;  
  10.   
  11. public class Map2JsonFile {  
  12.     public static void main(String[] args) {  
  13.         ObjectMapper mapper = new ObjectMapper();  
  14.         Map map = new HashMap();  
  15.         map.put("name""zitong");  
  16.         map.put("age"29);  
  17.   
  18.         List list = new ArrayList();  
  19.         list.add("music");  
  20.         list.add("football");  
  21.   
  22.         map.put("hobby", list);  
  23.   
  24.         try {  
  25.             mapper.writeValue(new File("F:/user.json"), map);  
  26.         } catch (Exception e) {  
  27.             e.printStackTrace();  
  28.         }  
  29.   
  30.     }  
  31. }  
  32. 运行结果:F:/user.json
    [html]  view plain  copy
    1. {"age":29,"name":"zitong","hobby":["music","football"]}  

    4. JSON File To Map

    [java]  view plain  copy
    1. package com.inspur.trc.util;  
    2.   
    3. import java.io.File;  
    4. import java.util.List;  
    5. import java.util.Map;  
    6.   
    7. import com.fasterxml.jackson.core.type.TypeReference;  
    8. import com.fasterxml.jackson.databind.ObjectMapper;  
    9.   
    10. public class JsonFile2Map {  
    11.     public static void main(String[] args) {  
    12.   
    13.         try{  
    14.             ObjectMapper mapper = new ObjectMapper();  
    15.               
    16.             Map map = mapper.readValue(new File("F:/user.json"),new TypeReference>(){});  
    17.               
    18.             System.out.println("name: " + map.get("name"));  
    19.             System.out.println("age: " + map.get("age"));  
    20.               
    21.             @SuppressWarnings("unchecked")  
    22.             List list = (List)map.get("hobby");  
    23.             System.out.print("hobby: ");  
    24.             for(String str : list){  
    25.                 System.out.print(str+ " ");  
    26.             }  
    27.               
    28.         }catch(Exception e){  
    29.             e.printStackTrace();  
    30.         }  
    31.     }  
    32. }  
    运行结果:
    [html]  view plain  copy
    1. name: zitong  
    2. age: 29  
    3. hobby: music football   


    String key = "key"+i;
    
    //方法名、类名、返回值、参数
    
    interMap.put(key,method.getName()+"/"+annot.getName()+"/"+types.toString()+"/"+permission.toString());
    i++;


    获取字符串中的值,通过indexOf("")和split("");两种方法都可以


    //JSON String to Map
     		 Map map = new HashMap();  
    	        ObjectMapper mapper = new ObjectMapper();  
    	          
    	        try{  
    	            map = mapper.readValue(json, new TypeReference>(){});  
    	            System.out.println("***********"+map+"***********");  
    	            
    	             //遍历map长度
    	            Set set = map.entrySet();
    	            
    	            for(Iterator iter = set.iterator(); iter.hasNext();)
    	            {
    	             Map.Entry entry = (Map.Entry)iter.next();
    	             
    	             String key = (String)entry.getKey();
    	             String value = (String)entry.getValue();
    	           // System.out.println(key +" :" + value);
    	             //获取逗号前的数据
    		       //  String before = value.substring(0,value.indexOf(",") - 1);
    	            //获取逗号后的数据
    	           // String last = value.substring(value.indexOf(",") + 1);
    	          //  System.out.println("获取逗号前的数据"+before+"获取逗号h后的数据"+last);
    	            
    	            
    	           
    	            String[] string=value.split("/");
    	            System.out.println(string[2]);//选择第3个元素
    	             
    	            
    	             //方法名、类名、返回值、参数
    	            MethodData methodData = new  MethodData();
    	            methodData.setMethodName(string[0]);
    	            methodData.setInterfaceName(string[1]);
    	            methodData.setMethodReturn(string[2]);
    	            methodData.setMethodPara(string[3]);
    	            
    	                 
    	                 int methodDataFlag = methodDataService.insert(methodData);
    	                 
    	            
    	            }

    

    你可能感兴趣的:(java)