Java 用Jackson进行json和object之间的转换(并解决json中存在新增多余字段的问题)
来源:互联网 发布:java的annotation 编辑:程序博客网 时间:2024/06/13 08:32
1、添加jackson库
如果是maven工程,需要在pom.xml中添加jackson的依赖:
<dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.8.3</version></dependency>
用到jackson的类中需要引入:
import com.fasterxml.jackson.databind.ObjectMapper;import com.fasterxml.jackson.databind.DeserializationFeature;
2、json转object
比如本例中是YourJson(json类型字符串)需要转化为YourClass类(自定义的类)的实例:
ObjectMapper objectMapper = new ObjectMapper();YourClass class = objectMapper.readValue(YourJson, YourClass.class);如果json中有新增的字段并且是YourClass类中不存在的,则会转换错误
1)需要加上如下语句:
这种方法的好处是不用改变要转化的类,即本例的YourClass。(如果YourClass不是你维护的,或者不可修改的,可以用这个方法)
ObjectMapper objectMapper = new ObjectMapper();objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);YourClass class = objectMapper.readValue(YourJson, YourClass.class);2)jackson库还提供了注解方法,用在class级别上:
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;@JsonIgnoreProperties(ignoreUnknown = true)public class YourClass { ...}3、object转json
本例中是YourClass对象需要转化为json:
import com.fasterxml.jackson.databind.ObjectMapper;ObjectMapper objectMapper = new ObjectMapper();YourClass yourClass = new YourClass();String json = objectMapper.writeValueAsString(yourClass);
0 0
- Java 用Jackson进行json和object之间的转换(并解决json中存在新增多余字段的问题)
- 使用jackson进行字符串,集合和json之间的转换
- 使用json-lib进行Java和JSON之间的转换
- 使用json-lib进行Java和JSON之间的转换
- 使用json-lib进行Java和JSON之间的转换
- 使用json-lib进行Java和JSON之间的转换
- 使用json-lib进行Java和JSON之间的转换
- 使用json-lib进行Java和JSON之间的转换
- 使用json-lib进行Java和JSON之间的转换
- 使用json-lib进行Java和JSON之间的转换
- 使用json-lib进行Java和JSON之间的转换
- 使用json-lib进行Java和JSON之间的转换
- 使用json-lib进行Java和JSON之间的转换
- 使用json-lib进行Java和JSON之间的转换
- 使用json-lib进行Java和JSON之间的转换
- 使用json-lib进行Java和JSON之间的转换
- 使用json-lib进行Java和JSON之间的转换
- 使用json-lib进行Java和JSON之间的转换
- 安全分析丨不要让你的数据湖变成数据沼泽
- java从ftp服务器上传下载文件
- golang http 请求未释放造成的错误
- PHP数组常用函数分类整理
- 安装 ruby
- Java 用Jackson进行json和object之间的转换(并解决json中存在新增多余字段的问题)
- Hybrid App 使用 native.js 实现搜索蓝牙列表
- MySQL 5.7版 解决密码登录失败Access denied for user 'root'@'localhost' (using password: NO)
- 使用getJSON()方法异步加载JSON格式数据
- BottomBar使用
- String、StringBuffer与StringBuilder之间区别
- 二叉树的镜像
- html5二维码扫描功能实现
- linux 环境配置 tomcat的jdk