开发指南142-类和字符串转换

复制代码
这个不废话,直接上代码:

package org.qlm.util;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
import com.alibaba.fastjson.parser.Feature;
import com.alibaba.fastjson.serializer.SerializerFeature;

public class Object2JsonUtil {
    public static String object2String(Object o) {
        String featureJson = JSON.toJSONString(
                o,
                SerializerFeature.PrettyFormat, // 美化输出(1.2.83的特性名和2.x略有差异)
                SerializerFeature.WriteMapNullValue, // 输出null字段
                SerializerFeature.WriteDateUseDateFormat // 日期转字符串(默认格式yyyy-MM-dd HH:mm:ss)
        );
        return featureJson;
    }

    /**
     * 通用泛型反序列化工具方法(Fastjson 1.2.83)
     * json JSON字符串
     * typeReference 泛型类型引用(如new TypeReference<Result<User>>() {})
     * <T> 目标泛型类型
     * 反序列化后的泛型对象
     */
    public static <T> T String2Object(String json, TypeReference<T> typeReference) {
        // 添加常用Feature:支持日期格式、允许单引号、忽略未知字段
        return JSON.parseObject(
                json,
                typeReference,
                Feature.AllowSingleQuotes,
                Feature.IgnoreNotMatch
        );
    }
}

一直欣赏一句话,代码就是最好的文档。加好注释的代码,就无需再看文档了。代码和文档合一,天下无敌。

相关推荐
SamDeepThinking6 分钟前
函数式编程:用BiFunction消除多类型分支的代码重复
java·后端·面试
Flittly17 小时前
【AgentScope Java新手村系列】(16)从RAG到多路检索
java·spring boot·spring
小兔崽子去哪了18 小时前
Java 生成二维码解决方案
java·后端
人活一口气1 天前
从JVM调优到MCP协议:Java全栈技术体系深度总结与企业级架构实践
java·spring boot
NE_STOP1 天前
Vibe Coding -- 完整项目案例实操
java
荣码1 天前
GraphRAG:普通RAG只能回答"点"的问题,我踩了4个坑才搞懂
java·python
SimonKing1 天前
Google第三方授权登录
java·后端·程序员
明月光8181 天前
从一行 @Builder 说起:重新拾起 Java 的 Lombok、注解与 Builder 模式
java
考虑考虑1 天前
Mybatis实现批量插入
java·后端·mybatis
咖啡八杯1 天前
GoF设计模式——中介者模式
java·后端·spring·设计模式