• JSON序列化和反序列化 对decmail 取值问题


    地图API返回经纬度:经度: 纬度:

    lng":114.03483089395202,"lat":22.615589046911805

    decmail 接收数据后两位会截掉  系统框架默认取得是double类型 

    解决方式是 进行设置  json.FloatParseHandling = FloatParseHandling.Decimal;    setting.FloatParseHandling = FloatParseHandling.Decimal;  即可

             /// <summary> 
            /// JSON对象反序列化 
            /// </summary> 
            /// <param name="JSON"></param>  
            /// <returns></returns> 
            public static T DeserializeObject<T>(string JSON)
            {
                
                Newtonsoft.Json.JsonSerializer json = new Newtonsoft.Json.JsonSerializer();
                json.NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore;
                json.ObjectCreationHandling = Newtonsoft.Json.ObjectCreationHandling.Replace;
                json.MissingMemberHandling = Newtonsoft.Json.MissingMemberHandling.Ignore;
                json.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;
                json.FloatParseHandling = FloatParseHandling.Decimal;
                json.DateFormatHandling = Newtonsoft.Json.DateFormatHandling.MicrosoftDateFormat;
                json.DateFormatString = "yyyy-MM-dd HH:mm:ss";
                StringReader sr = new StringReader(JSON);
                Newtonsoft.Json.JsonTextReader reader = new JsonTextReader(sr);
                T result = (T)json.Deserialize(reader, typeof(T));
                reader.Close();
                return result;
            }
            /// <summary>
            /// 序列化为JSON
            /// </summary>
            /// <param name="obj"></param>
            /// <returns></returns>
            public static string SerializeObject(object value, bool NullValueIgnore = true)
            {
                JsonSerializerSettings setting = new JsonSerializerSettings();
                
                setting.DateFormatHandling = Newtonsoft.Json.DateFormatHandling.MicrosoftDateFormat;
                setting.FloatParseHandling = FloatParseHandling.Decimal;
                setting.DateFormatString = "yyyy-MM-dd HH:mm:ss";
                setting.Converters.Add(EnumConverter);
                //空值处理
                if (NullValueIgnore)
                    setting.NullValueHandling = NullValueHandling.Ignore;
    
    
                //包含实体默认值
                setting.DefaultValueHandling = DefaultValueHandling.Include;
                return JsonConvert.SerializeObject(value, Formatting.Indented, setting);
               
    
    
            }
     

     

  • 相关阅读:
    在 Mac OS X 上安装 TensorFlow
    用序列到序列和注意模型实现的:Translation with a Sequence to Sequence Network and Attention
    PyTorch 实战-张量
    PyTorch 实战-用 Numpy 热身
    tf.nn.embedding_lookup TensorFlow embedding_lookup 函数最简单实例
    叩响秋雨梧桐的大门——2018中考之后
    完全背包——01背包方法数
    dp——01背包
    图论最短路——dijkstra
    图论最短路——spfa
  • 原文地址:https://www.cnblogs.com/Warmsunshine/p/11206043.html
Copyright © 2020-2023  润新知