jackson 使用(java jar-jackson-all-1.9.0jar自行下载)

  1. import java.io.StringWriter;  
  2. import java.util.ArrayList;  
  3. import java.util.HashMap;  
  4. import java.util.List;  
  5. import java.util.Map;  
  6.   
  7. import org.codehaus.jackson.JsonFactory;  
  8. import org.codehaus.jackson.JsonGenerator;  
  9. import org.codehaus.jackson.JsonParser;  
  10. import org.codehaus.jackson.map.DeserializationConfig.Feature;  
  11. import org.codehaus.jackson.map.MappingJsonFactory;  
  12. import org.codehaus.jackson.map.ObjectMapper;  
  13. import org.codehaus.jackson.type.JavaType;  
  14.   
  15. public class JsonUtils {  
  16.   
  17.     public static <K, V> String toJson(Map<K, V> obj) {  
  18.         String jsonString = "";  
  19.         try {  
  20.             if (obj == null) {  
  21.                 return "";  
  22.             }  
  23.             StringWriter sw = new StringWriter();  
  24.             JsonGenerator gen = new JsonFactory().createJsonGenerator(sw);  
  25.             ObjectMapper mapper = new ObjectMapper();  
  26.             mapper.writeValue(gen, obj);  
  27.             jsonString = sw.toString();  
  28.             sw.close();  
  29.         } catch (Exception ex) {  
  30.             ex.printStackTrace();  
  31.             return "";  
  32.         }  
  33.   
  34.         return jsonString;  
  35.     }  
  36.   
  37.     @SuppressWarnings("unchecked")  
  38.     public static Map<String, Object> toMap(String json) {  
  39.         Map<String, Object> result = new HashMap<String, Object>();  
  40.         try {  
  41.             if (json == null || json.equals("")) {  
  42.                 return null;  
  43.             }  
  44.   
  45.             ObjectMapper objectMapper = new ObjectMapper();  
  46.             result = objectMapper.readValue(json, Map.class);  
  47.             if (result == null) {  
  48.                 return new HashMap<String, Object>();  
  49.             }  
  50.         } catch (Exception ex) {  
  51.             ex.printStackTrace();  
  52.         }  
  53.   
  54.         return result;  
  55.     }  
  56.   
  57.     public static String toJson(Object object) {  
  58.         String json = "";  
  59.         try {  
  60.             if (object == null) {  
  61.                 return "";  
  62.             }  
  63.             StringWriter sw = new StringWriter();  
  64.             JsonGenerator gen = new JsonFactory().createJsonGenerator(sw);  
  65.             ObjectMapper mapper = new ObjectMapper();  
  66.   
  67.             mapper.writeValue(gen, object);  
  68.   
  69.             json = sw.toString();  
  70.             sw.close();  
  71.         } catch (Exception ex) {  
  72.             ex.printStackTrace();  
  73.             json = "";  
  74.         }  
  75.         return json;  
  76.     }  
  77.   
  78.     public static <T> T toObject(String json, Class<T> clazz) {  
  79.         T obj = null;  
  80.         try {  
  81.             if (json == null || json.equals("")) {  
  82.                 return null;  
  83.             }  
  84.             JsonFactory jsonFactory = new MappingJsonFactory();  
  85.             JsonParser jsonParser = jsonFactory.createJsonParser(json);  
  86.             ObjectMapper mapper = new ObjectMapper();  
  87.     mapper.configure(Feature.FAIL_ON_UNKNOWN_PROPERTIES,false);
  88.             //mapper.getDeserializationConfig().set(Feature.FAIL_ON_UNKNOWN_PROPERTIES, false);  
  89.             obj = mapper.readValue(jsonParser, clazz);  
  90.   
  91.         } catch (Exception ex) {  
  92.             ex.printStackTrace();  
  93.             obj = null;  
  94.         }  
  95.         return obj;  
  96.   
  97.     }  
  98.   
  99.     public static <T> List<T> toList(String json, Class<T> clazz) {  
  100.         if (json == null || json.equals("")) {  
  101.             return null;  
  102.         }  
  103.         ObjectMapper mapper = new ObjectMapper();  
  104.         mapper.configure(Feature.FAIL_ON_UNKNOWN_PROPERTIES,false); 
  105.         List<T> list = new ArrayList<T>();  
  106.         try {  
  107.             JavaType type = mapper.getTypeFactory().constructParametricType(List.class, clazz);  
  108.             list = mapper.readValue(json, type);  
  109.             return list;  
  110.         } catch (Exception e) {  
  111.             e.printStackTrace();  
  112.         }  
  113.   
  114.         return list;  
  115.     }  
  116. }  

你可能感兴趣的:(jackson 使用(java jar-jackson-all-1.9.0jar自行下载))