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);
最后更新于28分钟前
本文由人工编写,AI优化,转载请注明原文地址: Jackson入门指南:最流行JSON库的依赖配置与注解实战
推荐阅读
达梦数据库libgeos_c.dll加载失败解决方法:空间数据包安装指南
1552026-03-23
VMware Workstation 16激活码及许可证密钥获取方法
29612024-09-29
XWiki只允许本机访问:Jetty绑定127.0.0.1配置方法
1362026-04-28
OpenVPN安装配置完整指南:从零搭建安全VPN服务器与客户端
29112024-06-21
VMware Workstation 17许可证密钥及免费激活方法详解
45342024-09-29
Claude Mythos Preview称霸AI编程榜:16项全冠,昂贵且危险的性能怪兽
1832026-04-21