云萌主云应用官方论坛

标题: json封装与解析的Java工具类 [打印本页]

作者: lady-niuniu    时间: 2016-12-30 00:56
标题: json封装与解析的Java工具类
来源:http://www.open-open.com/code/view/1420362917562


  1. import java.io.IOException;  
  2.   
  3. import com.alibaba.fastjson.JSON;  
  4. import com.fasterxml.jackson.core.JsonParser;  
  5. import com.fasterxml.jackson.databind.JsonNode;  
  6. import com.fasterxml.jackson.databind.ObjectMapper;  
  7.   
  8. public class JsonUtil {  
  9.       
  10.     /**
  11.      * 将字符串转成实体类,允许斜杠等字符串
  12.      */  
  13.     public static <T> T jsonToEntity(String json, Class<T> clazz) throws IOException {  
  14.         ObjectMapper mapper = new ObjectMapper();  
  15.         // 允许反斜杆等字符  
  16.         mapper.configure(JsonParser.Feature.ALLOW_UNQUOTED_CONTROL_CHARS,true);  
  17.         return mapper.readValue(json, clazz);  
  18.     }  
  19.       
  20.     /**
  21.      * 实体类转JSON字符串
  22.      */  
  23.     public static String entityToJson(Object entity){  
  24.         return JSON.toJSONString(entity);  
  25.     }  
  26.       
  27.     /**
  28.      * 将字符串转成JsonNode,允许斜杠等字符串
  29.      */  
  30.     public static JsonNode jsonToJsonNode(String json) throws IOException {  
  31.         ObjectMapper mapper = new ObjectMapper();  
  32.         // 允许反斜杆等字符  
  33.         mapper.configure(JsonParser.Feature.ALLOW_UNQUOTED_CONTROL_CHARS,true);  
  34.         //允许单引号  
  35.         mapper.configure(JsonParser.Feature.ALLOW_SINGLE_QUOTES,true);  
  36.         return mapper.readValue(json, JsonNode.class);  
  37.     }  
  38.       
  39.     public static <T> String objectToJson(Object object, Class<T> cls)throws Exception {  
  40.         ObjectMapper mapper = new ObjectMapper();  
  41.         mapper.registerSubtypes(cls);  
  42.         String reqJson = mapper.writeValueAsString(object);  
  43.         return reqJson;  
  44.     }  
  45.       
  46. }  
复制代码







欢迎光临 云萌主云应用官方论坛 (https://yunmengzhu.com/) Powered by Discuz! X3.4