|
@@ -1,5 +1,4 @@
|
|
|
using Newtonsoft.Json;
|
|
|
-using Newtonsoft.Json.Converters;
|
|
|
using Vit.Extensions;
|
|
|
using System;
|
|
|
using Vit.Core.Util.ConfigurationManager;
|
|
@@ -10,7 +9,38 @@ namespace Vit.Core.Module.Serialization
|
|
|
public class Serialization_Newtonsoft: Serialization
|
|
|
{
|
|
|
|
|
|
- public new static readonly Serialization_Newtonsoft Instance = new Serialization_Newtonsoft().InitByAppSettings();
|
|
|
+ public new static readonly Serialization_Newtonsoft Instance = new Serialization_Newtonsoft().InitByAppSettings();
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ public readonly Newtonsoft.Json.JsonSerializerSettings serializeSetting = new Newtonsoft.Json.JsonSerializerSettings();
|
|
|
+ public Serialization_Newtonsoft()
|
|
|
+ {
|
|
|
+
|
|
|
+ //忽略空值
|
|
|
+ serializeSetting.NullValueHandling = NullValueHandling.Ignore;
|
|
|
+
|
|
|
+ //不缩进
|
|
|
+ serializeSetting.Formatting = Formatting.None;
|
|
|
+
|
|
|
+ //日期格式化
|
|
|
+ serializeSetting.DateFormatHandling = global::Newtonsoft.Json.DateFormatHandling.IsoDateFormat;
|
|
|
+ serializeSetting.DateFormatString = "yyyy-MM-dd HH:mm:ss";
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ //Newtonsoft.Json.JsonSerializerSettings serializeSetting = new Newtonsoft.Json.JsonSerializerSettings();
|
|
|
+ //JsonConvert.DefaultSettings = new Func<JsonSerializerSettings>(() =>
|
|
|
+ //{
|
|
|
+ // //日期类型默认格式化处理
|
|
|
+ // //serializeSetting.DateFormatHandling = Newtonsoft.Json.DateFormatHandling.MicrosoftDateFormat;
|
|
|
+ // //serializeSetting.DateFormatString = "yyyy-MM-dd HH:mm:ss";
|
|
|
+ // //空值处理
|
|
|
+ // serializeSetting.NullValueHandling = NullValueHandling.Ignore;
|
|
|
+ // //serializeSetting.Converters.Add(Serialize_DateTimeFormat);
|
|
|
+ // return serializeSetting;
|
|
|
+ //});
|
|
|
+ }
|
|
|
|
|
|
|
|
|
#region 成员对象
|
|
@@ -18,14 +48,17 @@ namespace Vit.Core.Module.Serialization
|
|
|
/// <summary>
|
|
|
/// 时间序列化格式。例如 "yyyy-MM-dd HH:mm:ss"
|
|
|
/// </summary>
|
|
|
- readonly IsoDateTimeConverter Serialize_DateTimeFormat = new IsoDateTimeConverter { DateTimeFormat = "yyyy-MM-dd HH:mm:ss" };
|
|
|
+ //readonly IsoDateTimeConverter Serialize_DateTimeFormat = new IsoDateTimeConverter { DateTimeFormat = "yyyy-MM-dd HH:mm:ss" };
|
|
|
|
|
|
/// <summary>
|
|
|
/// 设置时间序列化格式。例如 "yyyy-MM-dd HH:mm:ss"
|
|
|
/// </summary>
|
|
|
/// <param name="DateTimeFormat"></param>
|
|
|
- public void SetDateTimeFormat(string DateTimeFormat) {
|
|
|
- Serialize_DateTimeFormat.DateTimeFormat = DateTimeFormat;
|
|
|
+ public void SetDateTimeFormat(string DateTimeFormat)
|
|
|
+ {
|
|
|
+ //Serialize_DateTimeFormat.DateTimeFormat = DateTimeFormat;
|
|
|
+
|
|
|
+ serializeSetting.DateFormatString = DateTimeFormat;
|
|
|
}
|
|
|
|
|
|
|
|
@@ -76,15 +109,15 @@ namespace Vit.Core.Module.Serialization
|
|
|
{
|
|
|
return value.Convert<string>();
|
|
|
}
|
|
|
-
|
|
|
- return JsonConvert.SerializeObject(value, Serialize_DateTimeFormat);
|
|
|
-
|
|
|
+ //return JsonConvert.SerializeObject(value, Serialize_DateTimeFormat);
|
|
|
+ return JsonConvert.SerializeObject(value, serializeSetting);
|
|
|
}
|
|
|
|
|
|
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
|
|
public override string SerializeToString(object value, Type type)
|
|
|
{
|
|
|
- return JsonConvert.SerializeObject(value, Serialize_DateTimeFormat);
|
|
|
+ //return JsonConvert.SerializeObject(value, Serialize_DateTimeFormat);
|
|
|
+ return JsonConvert.SerializeObject(value, serializeSetting);
|
|
|
}
|
|
|
|
|
|
#endregion
|