json封裝與解析的Java工具類

n24d 9年前發布 | 15K 次閱讀 JavaScript JSON

import java.io.IOException;

import com.alibaba.fastjson.JSON;
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;

public class JsonUtil {

/** 
 * 將字符串轉成實體類,允許斜杠等字符串 
 */  
public static <T> T jsonToEntity(String json, Class<T> clazz) throws IOException {  
    ObjectMapper mapper = new ObjectMapper();  
    // 允許反斜桿等字符  
    mapper.configure(JsonParser.Feature.ALLOW_UNQUOTED_CONTROL_CHARS,true);  
    return mapper.readValue(json, clazz);  
}  

/** 
 * 實體類轉JSON字符串 
 */  
public static String entityToJson(Object entity){  
    return JSON.toJSONString(entity);  
}  

/** 
 * 將字符串轉成JsonNode,允許斜杠等字符串 
 */  
public static JsonNode jsonToJsonNode(String json) throws IOException {  
    ObjectMapper mapper = new ObjectMapper();  
    // 允許反斜桿等字符  
    mapper.configure(JsonParser.Feature.ALLOW_UNQUOTED_CONTROL_CHARS,true);  
    //允許單引號  
    mapper.configure(JsonParser.Feature.ALLOW_SINGLE_QUOTES,true);  
    return mapper.readValue(json, JsonNode.class);  
}  

public static <T> String objectToJson(Object object, Class<T> cls)throws Exception {  
    ObjectMapper mapper = new ObjectMapper();  
    mapper.registerSubtypes(cls);  
    String reqJson = mapper.writeValueAsString(object);  
    return reqJson;  
}  

} </pre>

 本文由用戶 n24d 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!