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<String, String> map = new HashMap<String, String>();  
  13.         ObjectMapper mapper = new ObjectMapper();  
  14.           
  15.         try{  
  16.             map = mapper.readValue(json, new TypeReference<HashMap<String,String>>(){});  
  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<String, String> map = new HashMap<String,String>();  
  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<String, Object> map = new HashMap<String, Object>();  
  15.         map.put("name""zitong");  
  16.         map.put("age"29);  
  17.   
  18.         List<Object> list = new ArrayList<Object>();  
  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. }  
运行结果: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<String, Object> map = mapper.readValue(new File("F:/user.json"),new TypeReference<Map<String, Object>>(){});  
  17.               
  18.             System.out.println("name: " + map.get("name"));  
  19.             System.out.println("age: " + map.get("age"));  
  20.               
  21.             @SuppressWarnings("unchecked")  
  22.             List<String> list = (List<String>)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<String, String> map = new HashMap<String, String>();  
	        ObjectMapper mapper = new ObjectMapper();  
	          
	        try{  
	            map = mapper.readValue(json, new TypeReference<HashMap<String,String>>(){});  
	            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);
	                 
	            
	            }


阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页