/**
* 定义很多关于json 的工具
*
* @author xzr
*
*/
public class JsonUtils {
private static final ObjectMapper mapper = new ObjectMapper();
/**
* 把对象进行序列化
*
* @param obj
* @return
* @throws JsonProcessingException
*/
public static String toString(Object obj) throws JsonProcessingException {
return mapper.writeValueAsString(obj);
}
/**
* 把json进行反序列化
*
* @param json
* @param clazz
* @return
* @throws JsonParseException
* @throws JsonMappingException
* @throws IOException
*/
public static <T> T toBean(String json, Class<T> clazz)
throws JsonParseException, JsonMappingException, IOException {
return mapper.readValue(json, clazz);
}
/**
* 把json转为List集合
*
* @param json
* @param clazz
* @return
* @throws JsonParseException
* @throws JsonMappingException
* @throws IOException
*/
public static <T> List<T> toList(String json, Class<T> clazz)
throws JsonParseException, JsonMappingException, IOException {
return mapper.readValue(json, mapper.getTypeFactory().constructCollectionType(List.class, clazz));
}
/**
* 把json转为Map集合
*
* @param json
* @param clazz
* @return
* @throws JsonParseException
* @throws JsonMappingException
* @throws IOException
*/
public static <K, V> Map<K, V> toMap(String json, Class<K> k, Class<V> v)
throws JsonParseException, JsonMappingException, IOException {
return mapper.readValue(json, mapper.getTypeFactory().constructMapType(Map.class, k, v));
}
/**
* 将json进行反序列化
* @param json
* @param type
* @return
* @throws JsonParseException
* @throws JsonMappingException
* @throws IOException
*/
public static <T> T toObject(String json, TypeReference<T> type) throws JsonParseException, JsonMappingException, IOException{
return mapper.readValue(json, type);
}
}
解决项目中跨域问题,自定义json处理工具类project2-day05
最新推荐文章于 2021-12-10 16:54:23 发布