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>