- 序列化 thrift 对象时,能够移除一些无效字段
public class GsonUtils {
private final static List<String> shouldSkipList = new ArrayList<>();
static {
shouldSkipList.add("__isset_bit_vector");
shouldSkipList.add("optionals");
}
private static Gson DEFAULT_GSON = new GsonBuilder().create();
public static Gson GSON_LOWER_CASE_UNDERSCORES = new GsonBuilder()
.setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES)
.create();
public static Gson GSON_SKIP = new GsonBuilder().addSerializationExclusionStrategy(new ExclusionStrategy() {
@Override
public boolean shouldSkipField(FieldAttributes f) {
return shouldSkipList.contains(f.getName());
}
@Override
public boolean shouldSkipClass(Class<?> aClass) {
return false;
}
}).create();
public static <T> T fromJson(String json, Class<T> classOfT) throws JsonSyntaxException {
return DEFAULT_GSON.fromJson(json, classOfT);
}
public static <T> T fromJson(String json, Type typeOfT) throws JsonSyntaxException {
return DEFAULT_GSON.fromJson(json, typeOfT);
}
public static String toJson(Object src) {
return DEFAULT_GSON.toJson(src);
}
public static String toJsonSkipFields(Object src) {
return GSON_SKIP.toJson(src);
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端