开发指南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
        );
    }
}

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

相关推荐
小羊没烦恼!2 天前
微服务化的基石——持续集成
java·大数据·word·powerpoint·.net
俊昭喜喜里2 天前
java中的继承和多态的区别
java
小羊没烦恼!2 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
譕痕2 天前
JSONObject与JSONArray封装数据格式区别
java·json
胡写代码2 天前
别再前后端各写一套表单校验了
java·后端
小鱼能吃糖2 天前
缺陷修复总览 · mall电商项目:5类缺陷,1个病根,4个业务域
java·电商
此时不提桶,更待何时2 天前
01-06-A-JVM排查实战详解
java·jvm
伞伞悦读2 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
vipxieliang2 天前
ValidX 在 DDD 领域驱动设计中的实践
java·spring boot
C语言小火车2 天前
C/C++ 为什么需要编译器?
开发语言·c++