当前位置: 首页 > news >正文

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

/// <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);}
}

全局使用

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());});

针对某个属性使用

[JsonConverter(typeof(LongJsonConverter))]
public long? Id { get; set; }
http://www.lryc.cn/news/185766.html

相关文章:

  • 黑马点评-02使用Redis代替session,Redis + token机制实现
  • arm 点灯实验代码以及现象
  • 选择适合普通公司的项目管理软件
  • E (1081) : DS堆栈--逆序输出(STL栈使用)
  • 访问者模式 行为型设计模式之九
  • JVM垃圾回收之JVM GC算法探究
  • Django 前端模板显示换行符、日期格式
  • Aurora中的策略模式和模板模式
  • Ubuntu 22.04 安装系统 手动分区 针对只有一块硬盘 lvm 单独分出/home
  • Android系统定制之监听USB键盘来判断是否弹出软键盘
  • LeakyReLU激活函数
  • Qt单一应用实例判断
  • 企业AI工程化之路:如何实现高效、低成本、高质量的落地?
  • 最短路径专题8 交通枢纽 (Floyd求最短路 )
  • 文件扫描模块
  • MySQL之主从复制
  • [leetcode 单调栈] 901. 股票价格跨度 M
  • Java线程池:并发编程的利器
  • ARM硬件断点
  • Java使用WebSocket(基础)
  • 图像处理与计算机视觉--第五章-图像分割-自适应阈值分割
  • 记一次问题排查
  • 【Spring Boot】创建一个 Spring Boot 项目
  • flutter中使用缓存
  • 京东数据分析平台:9月中上旬白酒消费市场数据分析
  • Linux安装 spark 教程详解
  • 动态内存管理函数(malloc,calloc,realloc,free)
  • 云表|都有生产管理模块,MES和ERP有什么不同,该如何选择
  • C语言 - 数组
  • Vue 中的插槽(Slot),有什么用,不同插槽的区别?