当前位置:网站首页>@JsonAdapter注解使用
@JsonAdapter注解使用
2022-07-05 09:41:00 【沙漠一只雕得儿得儿】
接管序列化和反序列化过程
TypeAdapter
接管了序列化和反序列化过程,而JsonSerializer
和JsonDeserializer
则只分别单独接管序列化和反序列化过程。
作用在POJO类上的,接收一个参数,且必须是TypeAdpater,JsonSerializer或JsonDeserializer这三个其中之一。
前面的JsonSerializer
和JsonDeserializer
都要配合GsonBuilder.registerTypeAdapter
使用,但每次使用都要注册也太麻烦了,JsonAdapter
就是为了解决这个痛点的。
使用:
@JsonAdapter(UserTypeAdapter.class)
public final class User {
.....
}
public class UserTypeAdapter implements JsonSerializer<User> {
@Override
public JsonElement serialize(User src, Type typeOfSrc, JsonSerializationContext context) {
JsonObject jsonElement = new JsonObject();
jsonElement.addProperty("name","serialize");
return jsonElement;
}
}
User user = new User("我",10);
Log.i("adapter","user:"+new Gson().toJson(user));//直接使用简单的new GSON()即可,无需配置注册
边栏推荐
- ThreadLocal source code learning
- 为什么不建议你用 MongoDB 这类产品替代时序数据库?
- 【 conseils 】 obtenir les valeurs des axes X et y de la fonction cdfplot dans MATLAB
- 剪掉ImageNet 20%数据量,模型性能不下降!Meta斯坦福等提出新方法,用知识蒸馏给数据集瘦身...
- Common fault analysis and Countermeasures of using MySQL in go language
- idea用debug调试出现com.intellij.rt.debugger.agent.CaptureAgent,导致无法进行调试
- Flutter development: use safearea
- Application of data modeling based on wide table
- 【技术直播】如何用 VSCode 从 0 到 1 改写 TDengine 代码
- Online chain offline integrated chain store e-commerce solution
猜你喜欢
mysql80服务不启动
Evolution of Baidu intelligent applet patrol scheduling scheme
H. 265 introduction to coding principles
【小技巧】獲取matlab中cdfplot函數的x軸,y軸的數值
写入速度提升数十倍,TDengine 在拓斯达智能工厂解决方案上的应用
[system design] index monitoring and alarm system
Those who are good at using soldiers, hide in the invisible, and explain the best promotional value works in depth in 90 minutes
The comparison of every() and some() in JS uses a power storage plan
Pagoda panel MySQL cannot be started
Roll up, break through 35 year old anxiety, and animate the CPU to record the function call process
随机推荐
[200 opencv routines] 219 Add digital watermark (blind watermark)
MySQL digital type learning notes
QT realizes signal transmission and reception between two windows
Fluent development: setting method of left and right alignment of child controls in row
从“化学家”到开发者,从甲骨文到 TDengine,我人生的两次重要抉择
[technical live broadcast] how to rewrite tdengine code from 0 to 1 with vscode
Android SQLite database encryption
View Slide
正式上架!TDengine 插件入驻 Grafana 官网
Swift tableview style (I) system basic
The essence of persuasion is to remove obstacles
【技术直播】如何用 VSCode 从 0 到 1 改写 TDengine 代码
【 conseils 】 obtenir les valeurs des axes X et y de la fonction cdfplot dans MATLAB
Cross process communication Aidl
从“化学家”到开发者,从甲骨文到TDengine,我人生的两次重要抉择
Those who are good at using soldiers, hide in the invisible, and explain the best promotional value works in depth in 90 minutes
Tutorial on building a framework for middle office business system
La voie de l'évolution du système intelligent d'inspection et d'ordonnancement des petites procédures de Baidu
把欧拉的创新带向世界 SUSE 要做那个引路人
QT VT100 parser