C#将对象转化成json字符串

一般情况下,使用

JsonConvert.SerializeObject(obj)

即可

 

也可以使用下面的方法

复制代码
        public string ToJson<T>(T obj) where T : class
        {
            string res = "";
            Type t = typeof(T);
            foreach(var item in t.GetProperties())
            {
                if (obj != null)
                {
                    if (item.PropertyType.IsPrimitive || item.PropertyType == typeof(string))    //基础数据类型,非自定义的class或者struct
                    {
                        res += "\"" + item.Name + "\":\"" + item.GetValue(obj) + "\",";
                    }
                }
                else
                {
                    if (item.PropertyType.IsPrimitive || item.PropertyType == typeof(string))   //对象为空直接赋双引号
                    {
                        res += "\"" + item.Name + "\":\"\",";
                    }
                }                              
            }
            Char[] mychar = { ',' };
            res = res.TrimEnd(mychar);       //去除末尾的逗号
            return res;
        }
复制代码

使用这个方法,如果对象里面有自定义的类,可以自动排除。

posted @   RookieCoderAdu  阅读(887)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示