Java学习之jackson篇
2024-09-03 08:21:38
Java学习之jackson篇
0x00 前言
本篇内容比较简单,简单记录。
0x01 Json 概述
概述:JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
这里复制了一段百度百科的解释,其实内容都可以用一句话来概括。
json主要用于数据交互,主要有键值对来表示。
而在Java里面需要解析json需要用到json的解析器。
0x02 jackson 解析器
在Java里面常见的json解析器有
Jsonlib,Gson,fastjson,jackson
那么这里拿jackson来进行演示。
常用方法
1. readValue(json字符串数据,Class) json转换为java对象
2.writeValue(参数1,obj):
参数1:
File:将obj对象转换为JSON字符串,并保存到指定的文件中
Writer:将obj对象转换为JSON字符串,并将json数据填充到字符输出流中
OutputStream:将obj对象转换为JSON字符串,并将json数据填充到字节输出流中
3.writeValueAsString(obj):将对象转为json字符串
注解:
1. @JsonIgnore:排除属性。
2. @JsonFormat:属性值得格式化
对象转Json
这里还需要定义一个实体类,这里就不写了。
package com.test.domain;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
public class jsonDemo {
public static void main(String[] args) {
Person person = new Person();
person.setName("xiaoming");
person.setSex("name");
person.setAge(18);
ObjectMapper objectMapper = new ObjectMapper();
try {
String s = objectMapper.writeValueAsString(person);
System.out.println(s);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
}
}
显示数据:
{"name":"xiaoming","age":18,"sex":"name"}
list集合转换json
package com.test.domain;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.ArrayList;
import java.util.List;
public class jsonDemo {
public static void main(String[] args) {
Person p1= new Person();
p1.setName("xiaoming");
p1.setSex("name");
p1.setAge(18);
Person p2= new Person();
p2.setName("xiaoming");
p2.setSex("name");
p2.setAge(18);
ObjectMapper objectMapper = new ObjectMapper();
List<Person> list = new ArrayList<>();
list.add(p1);
list.add(p2);
try {
String s = objectMapper.writeValueAsString(list);
System.out.println(s);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
}
}
json转Java对象
package com.test.domain;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class jsonDemo {
public static void main(String[] args) throws IOException {
String json = "{\"sex\":\"男\",\"age\":\"18\",\"name\":\"xiaoming\"}";
ObjectMapper objectMapper = new ObjectMapper();
Person person = objectMapper.readValue(json, Person.class);
System.out.println(person.toString());
}
}
0x03 结尾
后面准备开始更新Java框架内容。
最新文章
- RN8209校正软件开发心得(1)
- Codeforces Round #242 (Div. 2) B. Megacity
- 用live writer写博客
- 记32位程序(使用3gb用户虚拟内存)使用D3DX9导致的一个崩溃的问题
- <;转载>;DB2常用命令
- Tomcat7启动报Error listenerStart错误--转载
- C++实现网格水印之调试笔记(二)
- Maven deploy时报Fatal error compiling: tools.jar not found错误的问题处理
- JS取消浏览器文本选中的方法
- Myeclipse10连接SqlServer2012
- php 高并发下 秒杀处理思路
- python入门(1)python的前景
- [Django]bulk_create 探究
- MongoDB数据查询 --MongoDB
- MVC 验证规则扩展(当RoleID 属性值为A,B 时,Email 属性必填)
- 设计模式---数据结构模式之组合模式(Composite)
- 涂抹mysql笔记-mysql数据库文件结构
- eclipse---->;自己常用的快捷键
- php实现SSO单点登录实例
- Django-Filter源码解析一
热门文章
- Android | 玩转AppBarLayout,设置scrollFlags滑动属性详解
- QT项目-Chart Themes Example学习(一)
- 工具 | Typora + PicGo-Core 自动上传图片到图床
- 有了CMDB,为什么还需要应用配置管理?
- 第十届蓝桥杯大赛软件类省赛C/C++研究生组 试题I:灵能传输
- [.net] 关于Exception的几点思考和在项目中的使用(三)
- python基础(〇):注释
- 201871030115-康旭 实验三 结对项目—《D{0-1}KP 实例数据集算法实验平台》项目报告
- Spring Boot 实现配置文件加解密原理
- GO-03-基础