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

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

相关推荐
星空露珠10 小时前
28种颜色对应名称,
开发语言·数据库·算法·游戏·lua
码云数智-大飞10 小时前
PHP 接口开发规范:统一返回格式、异常处理与参数校验
开发语言·php
极光代码工作室10 小时前
基于SpringBoot的在线博客系统
java·springboot·web开发·后端开发
浮江雾10 小时前
Flutter第十七节-----路由管理(3)
android·开发语言·前端·javascript·flutter·入门
admin and root10 小时前
「移动安全」安卓APP 反编译&frida脱壳技巧分享
android·开发语言·python·web安全·微信小程序·移动安全·攻防演练
我是唐青枫10 小时前
Java Spring Security 实战详解:从登录认证到 JWT 权限控制
java·spring
踏月的造梦星球10 小时前
DM8 DSC 单机双实例部署
运维·开发语言·数据库
An_s10 小时前
c++对接pdfium(一)win系统篇
开发语言·c++
Zwarwolf10 小时前
Rust零散知识点项目汇总
开发语言·rust
-银雾鸢尾-10 小时前
C#中HashTable相关方法
开发语言·c#