【LSP】Java使用ObjectMapper的简单示例

[复制链接]
查看7211 | 回复10 | 2020-12-5 22:20:25 | 显示全部楼层 |阅读模式


一、什么是ObjectMapper?ObjectMapper类是Jackson库的主要类,它提供一些功能将数据集或对象转换的实现。它将使用JsonParser和JsonGenerator实例来实现JSON的实际读/写。二、ObjectMapper怎么使用?2.1 配置2.1.1 普通Java项目(引入如下依赖即可)
2.1.2 Sring Boot项目重要说明:  由于Spring Boot的自动配置JacksonAutoConfiguration中有如下图所示的依赖引入和配置,所以不需要我们额外配置

2.2 实战 User类 1 @Data 2 @EqualsAndHashCode(callSuper = false) 3 @Accessors(chain = true) 4 public class User implements Serializable { 5  6     private static final long serialVersionUID = 1L; 7  8     // 姓名 9     private String name;10 11     // 性别12     private String sex;13 14     // 年龄15     private Integer age;16 }2.2.1 Java对象、集合转JSON 1 public static void main(String[] args) throws IOException { 2  3         ObjectMapper objectMapper = new ObjectMapper(); 4  5         User user = new User(); 6         user.setName("张三"); 7         user.setAge(20); 8         user.setSex("男"); 9 10         List<User> userList = new ArrayList<>();11         userList.add(user);12 13         // 对象转换为JSON14         String userJsonString = objectMapper.writeValueAsString(user);16 17         // 集合转换为JSON18         String userListJsonString = objectMapper.writeValueAsString(userList);20 }2.2.2 JSON转Java对象、集合1      // JOSN转对象(java对象)2         User newUser = objectMapper.readValue(userJsonString, User.class);3 4         // JOSN转集合(集合)5         List<User> list = objectMapper.readValue(userListJsonString, new TypeReference<List<User>>(){});2.2.3 json转JsonNode、ObjectNode说明:  Jackson的JsonNode和ObjectNode两个类,前者是不可变的,一般用于读取。后者可变,一般用于创建Json对象图。 1      // json转JsonNode 2         JsonNode jsonNode = objectMapper.readTree(userJsonString); 3         String sex = jsonNode.get("sex").asText(); 4  5         // JsonNode转ObjectNode 6         ObjectNode objectNode = (ObjectNode)jsonNode; 7  8         // json转JsonNode 9         JsonNode jsonNodeList = objectMapper.readTree(userListJsonString);10 11         // JsonNode转ObjectNode12         ArrayNode arrayNode = (ArrayNode)jsonNodeList;
aaaa
村长黑科技是专业提供项目资源的服务的村长黑科技平台,如合购网赚项目、引流推广软件、软件程序开发等项目就选村长黑科技平台,参与或发布项目定制各种软件就来村长黑科技平台
千百渡 | 2020-12-6 08:44:15 | 显示全部楼层
嘘,低调。
aaaa
村长黑科技是专业提供项目资源的服务的村长黑科技平台,如合购网赚项目、引流推广软件、软件程序开发等项目就选村长黑科技平台,参与或发布项目定制各种软件就来村长黑科技平台
回复

使用道具 举报

千面萌萌 | 2020-12-8 08:09:42 | 显示全部楼层
我也顶起出售广告位
aaaa
村长黑科技是专业提供项目资源的服务的村长黑科技平台,如合购网赚项目、引流推广软件、软件程序开发等项目就选村长黑科技平台,参与或发布项目定制各种软件就来村长黑科技平台
回复

使用道具 举报

半度微凉 | 2020-12-8 09:38:04 | 显示全部楼层
看起来好像不错的样子
aaaa
村长黑科技是专业提供项目资源的服务的村长黑科技平台,如合购网赚项目、引流推广软件、软件程序开发等项目就选村长黑科技平台,参与或发布项目定制各种软件就来村长黑科技平台
回复

使用道具 举报

天镜盗梦 | 2020-12-8 16:11:14 | 显示全部楼层
发发呆,回回帖,工作结束~
aaaa
村长黑科技是专业提供项目资源的服务的村长黑科技平台,如合购网赚项目、引流推广软件、软件程序开发等项目就选村长黑科技平台,参与或发布项目定制各种软件就来村长黑科技平台
回复

使用道具 举报

梦影 | 2020-12-8 20:42:15 | 显示全部楼层
好帖必须得顶起
aaaa
村长黑科技是专业提供项目资源的服务的村长黑科技平台,如合购网赚项目、引流推广软件、软件程序开发等项目就选村长黑科技平台,参与或发布项目定制各种软件就来村长黑科技平台
回复

使用道具 举报

yichong | 2020-12-8 22:19:12 | 显示全部楼层
占坑编辑ing
aaaa
村长黑科技是专业提供项目资源的服务的村长黑科技平台,如合购网赚项目、引流推广软件、软件程序开发等项目就选村长黑科技平台,参与或发布项目定制各种软件就来村长黑科技平台
回复

使用道具 举报

neige | 2020-12-10 12:59:22 | 显示全部楼层
珍爱生命,果断回帖。
aaaa
村长黑科技是专业提供项目资源的服务的村长黑科技平台,如合购网赚项目、引流推广软件、软件程序开发等项目就选村长黑科技平台,参与或发布项目定制各种软件就来村长黑科技平台
回复

使用道具 举报

68079330 | 2020-12-11 12:54:21 | 显示全部楼层
路过
aaaa
村长黑科技是专业提供项目资源的服务的村长黑科技平台,如合购网赚项目、引流推广软件、软件程序开发等项目就选村长黑科技平台,参与或发布项目定制各种软件就来村长黑科技平台
回复

使用道具 举报

伴我多久 | 2020-12-11 16:23:22 | 显示全部楼层
佩服佩服!
aaaa
村长黑科技是专业提供项目资源的服务的村长黑科技平台,如合购网赚项目、引流推广软件、软件程序开发等项目就选村长黑科技平台,参与或发布项目定制各种软件就来村长黑科技平台
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则