json封装与解析的Java工具类

2021-09-22 10:42:55 浏览数 (1)

json封装与解析的Java工具类

代码语言:javascript复制
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> 

0 人点赞