IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> fastjson笔记 -> 正文阅读

[开发工具]fastjson笔记

参考博客http://t.csdn.cn/oh4R3

fastjson

使用fastjson先需要导入jar包

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.1.23</version>
</dependency>

1.实现序列化的方法

序列化就是指 把JavaBean对象转成JSON格式的字符串。

com.alibaba.fastjson.JSON提供了许多方法(多态)实现序列化

在这里插入图片描述

1.1最基本的序列化方式

调用格式

String objJson = JSON.toJSONString(Object object);

案例

//普通字符串
String str1 = "str1";
String s = JSON.toJSONString(str1);// 结果  "str1"

//map转为json
Map<String,Object> map = new HashMap<>();
map.put("小明","1");
map.put("小红","2");
String s1 = JSON.toJSONString(map);//结果  {"小明":"1","小红":"2"}

//list中为map转为json
Map<String,Object> map1 = new HashMap<>();
map1.put("小明","1");
map1.put("小红","2");
Map<String,Object> map2 = new HashMap<>();
map2.put("小明","1");
map2.put("小红","2");
List<Map<String,Object>> list = new ArrayList<>();
list.add(map1);
list.add(map2);
String s2 = JSON.toJSONString(list);//结果  [{"小明":"1","小红":"2"},{"小明":"1","小红":"2"}]

User user = new User("小张",12,"男");
String s3 = JSON.toJSONString(user);//结果  {"age":12,"gender":"男","name":"小张"}

1.2设置是否格式化

方法

String objJson = JSON.toJSONString(Object object, boolean prettyFormat);

prettyFormat就是一个布尔型的数据,true表示需要格式化,false表示不格式化

格式化就是让json字符串不要一行排列,让其有层次

案例

Map<String,Object> map1 = new HashMap<>();
map1.put("小明","1");
map1.put("小红","2");
Map<String,Object> map2 = new HashMap<>();
map2.put("小明","1");
map2.put("小红","2");
List<Map<String,Object>> list = new ArrayList<>();
list.add(map1);
list.add(map2);
String s2 = JSON.toJSONString(list,true);
System.out.println(s2);

结果

[
	{
		"小明":"1",
		"小红":"2"
	},
	{
		"小明":"1",
		"小红":"2"
	}
]

1.3对日期时间的格式化

案例

String s = JSON.toJSONString(new Date());//结果 1651463420455

//结果 "2022-05-02 11:51:20"
String s1 = JSON.toJSONString(new Date(), SerializerFeature.WriteDateUseDateFormat);

//指定日期格式 结果 "2022-05-02 11:52:03.125"
String s2 = JSON.toJSONStringWithDateFormat(new Date(), "yyyy-MM-dd HH:mm:ss.SSS");

1.4输入的json使用单引号

案例

Map<String,Object> map1 = new HashMap<>();
map1.put("小明","1");
map1.put("小红","2");
Map<String,Object> map2 = new HashMap<>();
map2.put("小明","1");
map2.put("小红","2");
List<Map<String,Object>> list = new ArrayList<>();
list.add(map1);
list.add(map2);
//结果 [{'小明':'1','小红':'2'},{'小明':'1','小红':'2'}]  使用的是单引号
String s2 = JSON.toJSONString(list, SerializerFeature.UseSingleQuotes);

1.5输出null字段

案例

Map<String, Object> map = new HashMap<String,Object>();
String b = null;
Integer i = 1;
map.put("a",b);
map.put("b",i);

//结果 {"a":null,"b":1}
String listJson = JSON.toJSONString(map, SerializerFeature.WriteMapNullValue);

1.6输出json类型

案例

User user = new User("小明",18,"男");
//结果 {"@type":"com.hty.pojo.User","age":18,"gender":"男","name":"小明"}
String s = JSON.toJSONString(user, SerializerFeature.WriteClassName);

由于序列化带了类型信息,使得反序列化时能够自动进行类型识别。

1.7反序列化

案例

User user = new User("小明",18,"男");
String s = JSON.toJSONString(user, SerializerFeature.WriteClassName);

//结果  User(name=小明, age=18, gender=男)
User user1 = (User)JSON.parse(s);
  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-05-05 11:40:32  更:2022-05-05 11:43:19 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 2:44:00-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码