C# newtonsoft序列化将long类型转化为字符串

cs 复制代码
/// <summary>
/// 转化为json的时候long类型转为string
/// </summary>
public class LongJsonConverter: JsonConverter
{
    public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
    {
        try
        {
            return reader.Value.ObjToLong();
        }
        catch (Exception ex)
        {
            throw ex;
        }
    }

    public override bool CanConvert(Type objectType)
    {
        return true;
    }

    public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
    {
        if (value == null)
        {
            writer.WriteNull();
            return;
        }
        string sValue = value.ToString();
        writer.WriteValue(sValue);
    }
}

全局使用

cs 复制代码
services.AddControllers(options =>
{
	//添加过滤器
    //options.Filters.Add(new AdminIpFilter(Configuration));
})
 .AddNewtonsoftJson(options =>
 {
     options.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
     options.SerializerSettings.Converters.Add(new Common.NewtonsoftJsonConvert.LongNullConverter());
     //修改属性名称的序列化方式,首字母小写
     options.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
     //修改时间的序列化方式
     options.SerializerSettings.Converters.Add(new IsoDateTimeConverter() { DateTimeFormat = "yyyy-MM-dd HH:mm:ss" });
     //看这里
     options.SerializerSettings.Converters.Add(new LongJsonConverter());
 });

针对某个属性使用

cs 复制代码
[JsonConverter(typeof(LongJsonConverter))]
public long? Id { get; set; }
相关推荐
互联网中的一颗神经元13 分钟前
小白python入门 - 39. 采集流水线小项目
开发语言·python
Wang's Blog27 分钟前
Go-Zero 项目开发22:用户群聊功能的实现与完善
开发语言·golang
Ai拆代码的曹操41 分钟前
Spring 事务 REQUIRES_NEW 嵌套调用:连接池翻倍的秘密
java·后端·spring
a1117761 小时前
坦克大战3D Three.js 3D (开源项目)
开发语言·javascript·3d
动恰客流统计1 小时前
ReID边缘计算视觉统计:餐饮店客流增长的数字化破局路径
java·大数据·运维·人工智能
Ivanqhz2 小时前
Rust &‘static str浅析
java·前端·javascript·rust
Wang's Blog3 小时前
Go-Zero项目开发24: 基于Bitmap实现群聊消息已读未读
开发语言·后端·golang
code bean3 小时前
【C#】 `Channel<T>` 深度解析:生产者-消费者模式的现代解法
数据结构·c#
weixin_419658315 小时前
Docker 搭建 Jenkins 服务
java·docker·jenkins
captain3765 小时前
多线程线程安全问题
java·java-ee