zoukankan      html  css  js  c++  java
  • .Net Core 配置之long类型 前端精度丢失和时间格式设置

    需求:long类型的值大于9007199254740991值时,前端会失精度,由于表结构ID用的long类型,修改程序字段类型不现实,网管统一处理,将long类型大于9007199254740991值时改为sting类型

    方案:

    public class CustomContractResolver : DefaultContractResolver
        {
            /// <summary>
            /// 对长整型做处理
            /// </summary>
            /// <param name="objectType"></param>
            /// <returns></returns>
            protected override JsonConverter ResolveContractConverter(Type objectType)
            {
                if (objectType == typeof(long))
                {
                    return new JsonConverterLong();
                }
                return base.ResolveContractConverter(objectType);
            }
        }
    public class JsonConverterLong : JsonConverter
        {
    public override bool CanRead => false; /// <summary> /// 是否可以转换 /// </summary> /// <param name="objectType"></param> /// <returns></returns> public override bool CanConvert(Type objectType) { return true; } /// <summary> /// 读json /// </summary> /// <param name="reader"></param> /// <param name="objectType"></param> /// <param name="existingValue"></param> /// <param name="serializer"></param> /// <returns></returns> public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { //此方法不会进来,因为设置的上面CanRead是false return reader.Value; } /// <summary> /// 写json /// </summary> /// <param name="writer"></param> /// <param name="value"></param> /// <param name="serializer"></param> public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { if (value == null || Convert.ToInt64(value) < 9007199254740991) writer.WriteValue(value); else writer.WriteValue(value + ""); } }

    参考:

    https://www.cnblogs.com/yijiayi/p/10051284.html

    https://www.cnblogs.com/binbinxu/p/13061561.html

  • 相关阅读:
    服务端TextBox焦点事件
    Ajax进度条动画制作网址
    ADSL错误代码大全
    ASP.NET MVC Framework体验(5):路径选择(URL Routing)(转)
    为表添加一列IsUpload默认值为0
    ASP.NET MVC Framework体验(3):表单提交(转)
    .NET开源项目
    Vista文件共享
    mysql的to_days函数
    Samba简介
  • 原文地址:https://www.cnblogs.com/liuqiyun/p/14513854.html
Copyright © 2011-2022 走看看