当前位置: 首页 > news >正文

沈阳模板网站制作嘉兴网站建设制作

沈阳模板网站制作,嘉兴网站建设制作,网站建设方案流程,怎么做网络棋牌网站在这篇文章中,我将向您展示如何使用Jackson-databind API来实现Java对象与JSON之间的绑定,以及如何将JSON数据转换为Java对象。 对于Java开发者来说,将JSON转换为Java对象及反向操作是一个常见的任务,因此我将通过示例演示如何完…

在这篇文章中,我将向您展示如何使用Jackson-databind API来实现Java对象与JSON之间的绑定,以及如何将JSON数据转换为Java对象。

对于Java开发者来说,将JSON转换为Java对象及反向操作是一个常见的任务,因此我将通过示例演示如何完成这些操作。

ObjectMapper类提供了读写JSON的功能,可以将基本的POJO(Plain Old Java Object)序列化为JSON格式字符串,或者从JSON字符串反序列化为POJO。

依赖项

在开始之前,我们需要定义所需的Jackson API依赖项。让我们首先在pom.xml文件中添加以下依赖项:

<dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.9.8</version>
</dependency>

此依赖项还会自动引入以下库到类路径中:

  • jackson-annotations-2.9.8.jar
  • jackson-core-2.9.8.jar
  • jackson-databind-2.9.8.jar

建议始终使用Maven中央仓库中的最新版本。

将Java对象转换为JSON示例

下面是一个使用ObjectMapper.writeValueXXX()方法将Java对象转换为JSON的例子。

Post.java
package net.javaguides.jackson.pojotojson;import java.util.Date;
import java.util.HashSet;
import java.util.Set;public class Post {private Long id;private String title;private String description;private String content;private Date postedAt = new Date();private Date lastUpdatedAt = new Date();private Set<Tag> tags = new HashSet<>();// 构造函数、getter和setter省略
}
Tag.java
package net.javaguides.jackson.pojotojson;public class Tag {private Long id;private String name;// 构造函数、getter和setter省略
}
JacksonPojoToJson.java
package net.javaguides.jackson.pojotojson;import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Date;
import java.util.HashSet;
import java.util.Set;import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;/*** 使用Jackson API将Java对象转换为JSON* @author Ramesh Fadatare*/
public class JacksonPojoToJson {public static void main(String[] args) throws IOException {// 创建ObjectMapper实例ObjectMapper mapper = new ObjectMapper();mapper.enable(SerializationFeature.INDENT_OUTPUT);// 创建一个Post对象Post post = new Post();post.setTitle("Jackson JSON API Guide");post.setId(100L);post.setDescription("Post about Jackson JSON API");post.setContent("HTML content here");post.setLastUpdatedAt(new Date());post.setPostedAt(new Date());// 创建一些预定义的标签Set<Tag> tags = new HashSet<>();tags.add(new Tag(1L, "Java"));tags.add(new Tag(2L, "Jackson"));tags.add(new Tag(3L, "JSON"));// 设置标签给帖子post.setTags(tags);// 将对象转换为JSON字符串String postJson = mapper.writeValueAsString(post);System.out.println(postJson);// 将JSON字符串保存到文件FileOutputStream fileOutputStream = new FileOutputStream("post.json");mapper.writeValue(fileOutputStream, post);fileOutputStream.close();}
}

输出结果如下:

{"id" : 100,"title" : "Jackson JSON API Guide","description" : "Post about Jackson JSON API","content" : "HTML content here","postedAt" : 1556025668077,"lastUpdatedAt" : 1556025668077,"tags" : [ {"id" : 3,"name" : "JSON"}, {"id" : 1,"name" : "Java"}, {"id" : 2,"name" : "Jackson"} ]
}

注意,我们也可以将JSON写入外部文件。在这个例子中,我们将JSON写入名为"post.json"的文件。

将JSON转换为Java对象

下面是一个使用ObjectMapper.readValue()方法将JSON转换为Java对象的例子。在这个例子中,我们将从外部"post.json"文件读取JSON并将其转换成Java对象。

JacksonJsonToPojo.java
package net.javaguides.jackson.jsontopojo;import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Iterator;import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;import net.javaguides.jackson.pojotojson.Post;
import net.javaguides.jackson.pojotojson.Tag;/*** 使用Jackson将JSON转换为Java对象* @author Ramesh Fadatare*/
public class JacksonJsonToPojo {public static void main(String[] args) throws JsonParseException, JsonMappingException, IOException {ObjectMapper mapper = new ObjectMapper();// 读取JSON文件并转换为Java对象InputStream fileInputStream = new FileInputStream("post.json");Post post = mapper.readValue(fileInputStream, Post.class);fileInputStream.close();// 打印帖子详情System.out.println("打印帖子详情");System.out.println(post.getId());System.out.println(post.getTitle());System.out.println(post.getDescription());System.out.println(post.getContent());System.out.println(post.getLastUpdatedAt());System.out.println(post.getPostedAt());// 打印这个帖子的标签System.out.println("打印帖子的标签详情:" + post.getTitle());for (Iterator<Tag> iterator = post.getTags().iterator(); iterator.hasNext();) {Tag tag = iterator.next();System.out.println(tag.getId());System.out.println(tag.getName());}}
}

输出结果如下:

打印帖子详情
100
Jackson JSON API Guide
Post about Jackson JSON API
HTML content here
Tue Apr 23 18:51:08 IST 2019
Tue Apr 23 18:51:08 IST 2019
打印帖子的标签详情:Jackson JSON API Guide
2
Jackson
1
Java
3
JSON
http://www.yidumall.com/news/73810.html

相关文章:

  • 网站建设的方法竞价排名深度解析
  • wordpress web开发广州seo优化外包服务
  • 从哪个网站设置宽带主机seo海外推广
  • 网站开发合同存在的缺陷惠州seo外包公司
  • 合肥网站建设开发打开百度一下
  • 郑州网站建设网络推广seo优化排名教程
  • 建立问答类的网站设计师必备的6个网站
  • 大连开发区人才网重庆高端网站seo
  • wordpress开发复杂网站百度指数分析报告
  • 微网站样式企业建站模板
  • 网站建设流程步骤怎么样购买链接平台
  • 做善事的网站百度快照推广有效果吗
  • 网站内页301重定向sem公司
  • 网站建设的实践报告今天宣布疫情最新消息
  • 泉州网站建设方案维护广告发布
  • 客厅装修效果图片大全seo公司
  • 古典网站素材软文推广广告
  • 技术网站建设网站推广策划
  • 汽车之家官方网站徐汇网站建设
  • 网站关键词收费今日全国最新疫情通报
  • 公司名称注册重名查询官网郑州网站优化推广
  • web技术有哪些seo这个行业怎么样
  • 网站开发百灵鸟收录优美图片崩了
  • 怎么做网站拍卖的那种北京关键词优化平台
  • 郑州做网站优化运营商快速建站工具
  • 关岭网站建设优化关键词排名软件
  • 网站备案幕布多少钱seo软件排行榜前十名
  • 基本的网站建设知识免费顶级域名申请网站
  • 潭州教育网站开发网络公司网络推广服务
  • 做一个网站指定页面的推广西地那非