1.序列化与反序列化封装

 private static final Logger logger = LoggerFactory.getLogger(JsonUtil.class);

    /**
* Object对象转换为String
*
* @param data Object对象
* @return Object对象对应的字符串
*/
public static <T> String toJsonString(T data) {
try {
ObjectMapper om = new ObjectMapper();
return om.writeValueAsString(data);
} catch (JsonProcessingException ex) {
if (logger.isErrorEnabled()) {
logger.error("json parse error:", ex);
}
return "json parse error:" + ex.getMessage();
}
} /**
* 字符串转换为对象
*
* @param json 字符串
* @param clazz 类类型
* @return clazz类型的对象
*/
public static <R> R json2Object(String json, Class<R> clazz) {
try {
ObjectMapper om = new ObjectMapper();
return om.readValue(json, clazz);
} catch (Exception ex) {
if (logger.isErrorEnabled()) {
logger.error("json parse error:", ex);
}
}
return null;
} /**
* 字节转换为对象
*
* @param jsonBuffer 字节
* @param clazz 类类型
* @return clazz类型的对象
*/
public static <R> R json2Object(byte[] jsonBuffer, Class<R> clazz) {
try {
ObjectMapper om = new ObjectMapper();
return om.readValue(jsonBuffer, clazz);
} catch (Exception ex) {
if (logger.isErrorEnabled()) {
logger.error("json parse error:", ex);
}
}
return null; } /**
* 字符串转换为对象数组
*
* @param json 字符串
* @param clazz 类类型
* @return clazz类型的对象数组
*/
public static <T> List<T> json2List(String json, Class<T> clazz) {
List<T> list = null;
try {
ObjectMapper mapper = new ObjectMapper();
TypeReference<List<T>> typeRef = new TypeReference<List<T>>() {
@Override
public Type getType() {
return new ParameterizedType() {
@Override
public Type[] getActualTypeArguments() {
return new Type[]{clazz};
}
@Override
public Type getRawType() {
return List.class;
}
@Override
public Type getOwnerType() {
return null;
}
};
}
};
list = mapper.readValue(json, typeRef);
} catch (Exception ex) {
if (logger.isErrorEnabled()) {
logger.error("json parse error:", ex);
}
}
return list;
}

2.自定义jackson

https://blog.csdn.net/weixin_35772453/article/details/69666225

jackson 用法总结的更多相关文章

  1. jackson用法

    ObjectMapper mapper=new ObjectMapper(); //3.调用mapper的writeValueAsString()方法把一个对象或集合转为json字符串 Custome ...

  2. json-lib与Jackson的区别和用法分析

    一.Jackson概述 1.jackson包和版本 Jackson fasterxml和codehaus的区别: 他们是Jackson的两大分支.也是两个版本的不同包名.Jackson从2.0开始改用 ...

  3. 常见Java库漏洞汇总

    1.ActiveMQ 反序列化漏洞(CVE-2015-5254) ref:https://www.nanoxika.com/?p=408 Apache ActiveMQ是美国阿帕奇(Apache)软件 ...

  4. Java对象的序列化与反序列化-Json篇

    说到Java对象的序列化与反序列化,我们首先想到的应该是Java的Serializable接口,这玩意在两个系统之间的DTO对象里面可能会用到,用于系统之间的数据传输.或者在RPC(远程方法调用)时可 ...

  5. Jackson的简单用法

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1简介 Jackson具有比较高的序列化和反序列化效率,据测试,无论是 ...

  6. Jackson最简单用法

    jackson的包在:https://yunpan.cn/cu2b6eMaBjFpz  访问密码 753f 代码: ObjectMapper objectMapper = new ObjectMapp ...

  7. Jackson 时间格式化,时间注解 @JsonFormat 用法、时差问题说明

    https://www.sojson.com/blog/246.html ******************************************** Jackson  是  Spring ...

  8. Jackson的用法实例分析

    这篇文章主要介绍了Jackson的用法实例分析,用于处理Java的json格式数据非常实用,需要的朋友可以参考下 通俗的来说,Jackson是一个 Java 用来处理 JSON 格式数据的类库,其性能 ...

  9. JSON数据处理框架Jackson精解第一篇-序列化与反序列化核心用法

    Jackson是Spring Boot默认的JSON数据处理框架,但是其并不依赖于任何的Spring 库.有的小伙伴以为Jackson只能在Spring框架内使用,其实不是的,没有这种限制.它提供了很 ...

随机推荐

  1. CentOS 7 安装与卸载MySQL 5.7

    先介绍卸载 防止重装 yum方式 查看yum是否安装过mysql yum list installed mysql* 如或显示了列表,说明系统中有MySQL yum卸载 根据列表上的名字 yum re ...

  2. POJ—1321(棋盘问题)

    题目链接:https://cn.vjudge.net/contest/65959#problem/A 入门dfs,给一张地图,由“#”和“.”组成,“#”处可以放棋子,且棋子不能同行同列,问放满所有“ ...

  3. swift 移除控制器中的已经存在的VC 注意

    1.要用 || 2. 如果使用这个代码 只会移除一个VC

  4. Smartforms

    Include text Populate indicator in program perform get_text using '0002' ls_detail-vbeln"Header ...

  5. mysql数据库分区和分表

    转载自 https://www.cnblogs.com/miketwais/articles/mysql_partition.html https://blog.csdn.net/vbirdbest/ ...

  6. ABP框架记录

    1.先在Core项目中建立模型Models>Model.cs/ModelManager.cs 2.在Application中建立接口和具体类:IModelAppService.csModelAp ...

  7. MySQL:缓存算什么东西?!

    原创: 码农翻身刘欣 十年前,我们还是一个企业内部的应用,用户不多,数据也不多. Tomcat一天也处理不了多少请求,闲得无聊的时候只能和我聊天,这是没有办法的事情,因为整个系统只有我们两个: 没错, ...

  8. vs2010单步调试崩溃

    vs2010在使用单步调试(F10,F11)功能时崩溃,如下图: 困扰了一段时间,度娘,google了很久也没有搜到有价值的解决方案,貌似问题非主流? 原因如下图(禁用即可): 当然这里NET Ref ...

  9. sparse_matrix

    (1)ndarray 与 scipy.sparse.csr.csr_matrix 的互转 import numpy as npfrom scipy import sparse 1.1 ndarry 转 ...

  10. 关于sql优化的一些点

    慢查询日志 参考:https://www.cnblogs.com/saneri/p/6656161.html 查询是否开启慢查询日志: show variables like '%slow_query ...