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

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

相关推荐
1024奇点9 小时前
【仓颉语言入门 · 第二篇 第 22 课】
开发语言·ide·开源
Warren2Lynch10 小时前
C4 模型详解:利用 Visual Paradigm 可视化软件架构的综合指南
开发语言·uml
天河归来10 小时前
第三方接口不稳定,如何让核心任务继续完成
java·大数据
Knight_AL10 小时前
Java 文件下载时文件名中的 `#` 被转换成 `%23`?一次 URL 编码与解码问题排查
java·开发语言
FRing0311 小时前
vue2干货总结2(v-bind、v-for、v-model、指令修饰符、v-bind操作class和style)
开发语言·前端·vue.js·vue2
by2099912 小时前
C++ 智能指针的所有权与使用
开发语言·c++·经验分享
砚底藏山河12 小时前
python量化自定义周期 K 线合成
java·开发语言·数据库·python·金融
IT召唤狮12 小时前
开源企业级零信任项目Pangolin,零信任能挡住PHP核弹漏洞吗?
开发语言·开源·php
知已难寻12 小时前
03 · OpenStack的计算管理 Nova
运维·服务器·开发语言·云原生·云计算·openstack·开源软件
Rover Ramble12 小时前
C++ 用互斥锁实现读写锁
开发语言·c++