
Java中json的序列化反序列化
发布日期:2021-05-17 08:12:28
浏览次数:21
分类:精选文章
本文共 1911 字,大约阅读时间需要 6 分钟。
Java JSON 库实用指南 - fastjson 与 jackson 对比
技术专家:王小明
关键词:Java JSON 库, fastjson, jackson, JSON 序列化, JSON 反序列化
文章元描述:了解 Java 中主要的 JSON 库库 - fastjson 和 jackson 的基本用法及对比
导入依赖
为了使用 fastjson 或 jackson,在项目中需要加入相应的依赖。如果是 Maven 项目,可以在 pom.xml 中添加如下配置:
com.alibaba fastjson 1.2.54 com.fasterxml.jackson.core jackson-core com.fasterxml.jackson.core jackson-databind com.fasterxml.jackson.core jackson-annotations
实体类
下面是一个简单的 User 实体类,可以用于演示 JSON 序列化和反序列化的功能:
public class User { private int id; private String name; private String password; public User() { super(); } }
主方法
为了展示 two-way JSON 原始数据与 Java 对象的转换功能,以下是一个完整的代码示例:
public class TestJson { public static void main(String[] args) throws Exception { User user = new User(1, "张三", "123456"); System.out.println("\n-----fastjson-----"); // JSON 转换为字符串 String objectToFastjson = JSON.toJSONString(user); System.out.println(objectToFastjson); // JSON 反序列化为对象 User user1 = JSON.parseObject(objectToFastjson, User.class); System.out.println(user1); System.out.println("\n-----jackson-----"); // 创建 ObjectMapper 实例 ObjectMapper objectMapper = new ObjectMapper(); // JSON 转换为字符串 String objectToJackson = objectMapper.writeValueAsString(user); System.out.println(objectToJackson); // JSON 反序列化为对象 User user2 = objectMapper.readValue(objectToJackson, User.class); System.out.println(user2); } }
测试结果
通过以上代码可以看到,fastjson 和 jackson 在 JSON 数据的序列化和反序列化方面都能轻松实现,两者各有特色:
- fastjson 在性能上可能更有优势。
- jackson 提供了更丰富的自定义配置选项,比如注册模块和bean 注解等特性。
结语
以上内容是技术专家王小明的个人观点,欢迎在评论区留言交流!
发表评论
最新留言
逛到本站,mark一下
[***.202.152.39]2025年05月01日 15时21分18秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
《web安全入门》(四)前端开发基础Javascript
2019-03-07
python中列表 元组 字典 集合的区别
2019-03-07
python struct 官方文档
2019-03-07
Android DEX加固方案与原理
2019-03-07
iOS_Runtime3_动态添加方法
2019-03-07
Leetcode第557题---翻转字符串中的单词
2019-03-07
Problem G. The Stones Game【取石子博弈 & 思维】
2019-03-07
Java多线程
2019-03-07
openssl服务器证书操作
2019-03-07
expect 模拟交互 ftp 上传文件到指定目录下
2019-03-07
PDF.js —— vue项目中使用pdf.js显示pdf文件(流)
2019-03-07
我用wxPython搭建GUI量化系统之最小架构的运行
2019-03-07
我用wxPython搭建GUI量化系统之多只股票走势对比界面
2019-03-07
selenium+python之切换窗口
2019-03-07
重载和重写的区别:
2019-03-07
搭建Vue项目步骤
2019-03-07
账号转账演示事务
2019-03-07
idea创建工程时错误提醒的是architectCatalog=internal
2019-03-07
SpringBoot找不到@EnableRety注解
2019-03-07