@JSONCreator注解怎么使用
时间: 2024-01-07 22:03:30 浏览: 75
@JSONCreator注解用于标注一个构造函数,表明这个构造函数是用于反序列化JSON字符串的,JSON字符串中的字段会被映射到构造函数的参数上。使用步骤如下:
1. 在需要反序列化的类中,选择一个构造函数,添加@JSONCreator注解。
```java
public class User {
private int id;
private String name;
@JSONCreator
public User(@JSONField(name="id") int id, @JSONField(name="name") String name) {
this.id = id;
this.name = name;
}
// getters and setters ...
}
```
2. 在构造函数的参数上,使用@JSONField注解指定JSON字符串中对应的字段名。
3. 使用JSON.parseObject()方法将JSON字符串转换为Java对象时,会自动调用标注了@JSONCreator注解的构造函数进行反序列化。
```java
String json = "{\"id\":1,\"name\":\"Tom\"}";
User user = JSON.parseObject(json, User.class);
System.out.println(user.getName());
```
这样就可以使用@JSONCreator注解来指定反序列化时使用哪个构造函数了。需要注意的是,如果一个类中有多个构造函数标注了@JSONCreator注解,则会根据参数匹配来选择使用哪个构造函数进行反序列化。
阅读全文