Jackson入门指南:最流行JSON库的依赖配置与注解实战
Jackson是Java生态中最流行、高效的JSON处理库,基于流式解析实现Java对象与JSON的互转。文章介绍了其项目地址、Maven依赖配置以及常用注解(如@JsonProperty、@JsonIgnore、@JsonFormat),并提供了多种使用示例:对象与JSON相互转换、JSON与常用类型及泛型转换、以及JSON转树形结构的操作方法。文章内容全面,便于开发者快速上手。
Jackson是Java生态中最流行、功能最强大的JSON处理库,底层基于流式解析,能够高效地在Java对象与JSON数据之间进行序列化与反序列化。
常用地址
项目首页:https://github.com/FasterXML/jackson
maven仓库:https://mvnrepository.com/artifact/com.fasterxml.jackson
jackson-core: https://github.com/FasterXML/jackson-core
jackson-databind:https://github.com/FasterXML/jackson-databind
添加依赖
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.12.4</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.12.4</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.12.4</version>
</dependency>
常用注解
@JsonProperty:设置映射字段
@JsonIgnore:忽略属性
@JsonFormat:时间格式化
示例代码
1、对象和JSON互相转换
模型:
@Data
public class Person {
private String name;
private int age;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
private Date birthday;
@JsonIgnore
private String idCard;
}
对象转json:
ObjectMapper mapper = new ObjectMapper();
String s = mapper.writeValueAsString(person);
json转对象:
Person person2 = mapper.readValue(s, Person.class);
MyValue value = mapper.readValue(new File(“data.json”), MyValue.class);
value = mapper.readValue(new URL(“http://some.com/api/entry.json”), MyValue.class);
value = mapper.readValue(“{"name":"Bob", "age":13}”, MyValue.class);
2、json与常用类型互相转换
Map<String, Integer> scoreByName = mapper.readValue(jsonSource, Map.class);
List<String> names = mapper.readValue(jsonSource, List.class);
mapper.writeValue(new File("names.json"), names);
3、json与泛型互相转换
Map<String, ResultValue> results = mapper.readValue(jsonSource,
new TypeReference<Map<String, ResultValue>>() { } );
4、json转树形结构
ObjectNode root = mapper.readTree("stuff.json");
String name = root.get("name").asText();
int age = root.get("age").asInt();
root.with("other").put("type", "student");
String json = mapper.writeValueAsString(root);
最后更新于24天前
本文由人工编写,AI优化,转载请注明原文地址: Jackson入门指南:最流行JSON库的依赖配置与注解实战
推荐阅读
XWiki只允许本机访问:Jetty绑定127.0.0.1配置方法
3312026-04-28
Windows系统PyTorch安装教程:CUDA 12.1环境配置与TorchText版本兼容性指南
32682024-06-21
ArcGIS转GDB导入超图后空间查询失效?一个复制操作轻松修复
1282026-06-03
VMware Workstation 16激活码及许可证密钥获取方法
32172024-09-29
超图iServer WMTS服务突破18级限制:自定义接口实现高精度瓦片加载
1282026-06-04
OpenVPN安装配置完整指南:从零搭建安全VPN服务器与客户端
34382024-06-21