| | |
| | | |
| | | namespace IStation |
| | | { |
| | | ///// <summary> |
| | | ///// json辅助类 |
| | | ///// </summary> |
| | | //public class JsonHelper |
| | | //{ |
| | | // /// <summary> |
| | | // /// 对象转为json |
| | | // /// </summary> |
| | | // public static string Object2Json<T>(T t) |
| | | // { |
| | | // if (t == null) |
| | | // return default; |
| | | // return JsonConvert.SerializeObject(t); |
| | | // } |
| | | |
| | | // /// <summary> |
| | | // /// 对象转为格式 json |
| | | // /// </summary> |
| | | // public static string Object2FormatJson<T>(T t) |
| | | // { |
| | | // if (t == null) |
| | | // return default; |
| | | // return JsonConvert.SerializeObject(t, Formatting.Indented); |
| | | // } |
| | | |
| | | // /// <summary> |
| | | // /// json转为对象 |
| | | // /// </summary> |
| | | // public static T Json2Object<T>(string json) |
| | | // { |
| | | // if (string.IsNullOrEmpty(json)) |
| | | // return default; |
| | | // try |
| | | // { |
| | | // return JsonConvert.DeserializeObject<T>(json); |
| | | // } |
| | | // catch (Exception ex) |
| | | // { |
| | | // var a = ex.Message; |
| | | // return default; |
| | | // } |
| | | |
| | | // } |
| | | |
| | | |
| | | //} |
| | | |
| | | |
| | | /// <summary> |
| | | /// json辅助类 |
| | | /// </summary> |
| | |
| | | { |
| | | if (t == null) |
| | | return default; |
| | | return JsonConvert.SerializeObject(t); |
| | | return JsonConvert.SerializeObject(t, new JsonSerializerSettings |
| | | { |
| | | Converters = new[] { new CustomFloatConverter() } |
| | | }); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | { |
| | | if (t == null) |
| | | return default; |
| | | return JsonConvert.SerializeObject(t, Formatting.Indented); |
| | | return JsonConvert.SerializeObject(t, Formatting.Indented, new JsonSerializerSettings |
| | | { |
| | | Converters = new[] { new CustomFloatConverter() } |
| | | }); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | var a = ex.Message; |
| | | return default; |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | public class CustomFloatConverter : JsonConverter |
| | | { |
| | | public override bool CanConvert(Type objectType) |
| | | { |
| | | return objectType == typeof(double) || objectType == typeof(float); |
| | | } |
| | | |
| | | public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) |
| | | { |
| | | if (reader.TokenType == JsonToken.String) |
| | | { |
| | | return Convert.ToDouble(reader.Value.ToString()); |
| | | } |
| | | return reader.Value; |
| | | } |
| | | |
| | | public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) |
| | | { |
| | | if (value is double) |
| | | { |
| | | writer.WriteValue($"{value:N5}"); // 保留4位小数 |
| | | } |
| | | else if (value is float) |
| | | { |
| | | writer.WriteValue($"{value:N5}"); // 保留4位小数 |
| | | } |
| | | } |
| | | } |
| | | } |