javassist动态创建类并添加注解

本文介绍如何在javassist动态生成的类中添加@JSONField注解,以在转换为json字符串时忽略特定字段。通过示例代码展示了如何创建类、写入文件,并验证注解生效,确保被忽略的字段不在json输出中。
摘要由CSDN通过智能技术生成

有一个场景我需要在一个类的一个字段上加上@JSONField(serialize = false),让它在转换成json字符串的时候忽略指定字段,可是这个类是通过javassist生成的,于是乎就有了下面的内容

依赖

<dependency>
	<groupId>org.javassist</groupId>
	<artifactId>javassist</artifactId>
	<version>3.25.0-GA</version>
</dependency>

<dependency>
	<groupId>com.alibaba</groupId>
	<artifactId>fastjson</artifactId>
	<version>1.2.25</version>
</dependency>

创建一个类

package com.mytest;

import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.annotation.JSONField;
import javassist.*;
import javassist.bytecode.AnnotationsAttribute;
import javassist.bytecode.ClassFile;
import javassist.bytecode.ConstPool;
import javassist.bytecode.annotation.Annotation;
import javassist.bytecode.annotation.BooleanMemberValue;
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值