Forráskód Böngészése

Merge branch 'feature/2023-12-06_Json' of serset/Sers into release/develop

lith 1 éve
szülő
commit
a1cd0fb197
16 módosított fájl, 211 hozzáadás és 117 törlés
  1. 4 4
      dotnet/Library/Sers/Sers.Core/Sers.Core.Temp/Sers.Core/Module/Rpc/Serialization/MessagePack_RpcContextData.cs
  2. 4 4
      dotnet/Library/Sers/Sers.Core/Sers.Core.Temp/Sers.Core/Module/Rpc/Serialization/StringBuilder_RpcContextData.cs
  3. 5 5
      dotnet/Library/Sers/Sers.Core/Sers.Core.Temp/Vit.Core/Module/Serialization/Serialization_MessagePack.Newtonsoft.cs
  4. 2 2
      dotnet/Library/Sers/Sers.Core/Sers.Core.Temp/Vit.Core/Module/Serialization/Serialization_MessagePack.Newtonsoft_Object.cs
  5. 4 4
      dotnet/Library/Sers/Sers.Core/Sers.Core.Temp/Vit.Core/Module/Serialization/Serialization_MessagePack.cs
  6. 4 4
      dotnet/Library/Sers/Sers.Core/Sers.Core/Module/Rpc/Serialization/Fast/BytePointor_RpcContextData.cs
  7. 4 4
      dotnet/Library/Sers/Sers.Core/Sers.Core/Module/Serialization/Text/JsonConverter_Newtonsoft.cs
  8. 10 8
      dotnet/Library/Sers/Sers.Core/Sers.Core/Module/Serialization/Text/Serialization_Text.cs
  9. 14 8
      dotnet/Library/Vit/Vit.Core/Test/Vit.Core.MsTest/Module/SerializationTest.cs
  10. 1 1
      dotnet/Library/Vit/Vit.Core/Vit.Core/Extensions/IDictionaryExtensions.cs
  11. 30 0
      dotnet/Library/Vit/Vit.Core/Vit.Core/Extensions/Json/TypeExtensions.cs
  12. 4 4
      dotnet/Library/Vit/Vit.Core/Vit.Core/Module/Serialization/ISerialization.cs
  13. 45 0
      dotnet/Library/Vit/Vit.Core/Vit.Core/Module/Serialization/ISerialization_Extensions.cs
  14. 63 0
      dotnet/Library/Vit/Vit.Core/Vit.Core/Module/Serialization/Json.Extensions.cs
  15. 6 58
      dotnet/Library/Vit/Vit.Core/Vit.Core/Module/Serialization/Json.cs
  16. 11 11
      dotnet/Library/Vit/Vit.Core/Vit.Core/Module/Serialization/Serialization_Newtonsoft.cs

+ 4 - 4
dotnet/Library/Sers/Sers.Core/Sers.Core.Temp/Sers.Core/Module/Rpc/Serialization/MessagePack_RpcContextData.cs

@@ -109,7 +109,7 @@ namespace Sers.Core.Module.Rpc.Serialization
             {
                 writer.Write("error");
                 //MessagePack_Newtonsoft_Object.Instance.Serialize(ref writer, value.error, options);
-                var str = Serialization_Newtonsoft.Instance.SerializeToString(value.error);
+                var str = Serialization_Newtonsoft.Instance.Serialize(value.error);
                 writer.Write(str);
             }
 
@@ -119,7 +119,7 @@ namespace Sers.Core.Module.Rpc.Serialization
             {
                 writer.Write("user");
                 //MessagePack_Newtonsoft_Object.Instance.Serialize(ref writer, value.user, options);
-                var str = Serialization_Newtonsoft.Instance.SerializeToString(value.user);
+                var str = Serialization_Newtonsoft.Instance.Serialize(value.user);
                 writer.Write(str);
             }
         }
@@ -231,14 +231,14 @@ namespace Sers.Core.Module.Rpc.Serialization
                         if (!reader.TryReadNil())
                         {
                             //result.error = MessagePack_Newtonsoft_Object.Instance.Deserialize(ref reader, options);
-                            result.error = Serialization_Newtonsoft.Instance.DeserializeFromString<object>(reader.ReadString());
+                            result.error = Serialization_Newtonsoft.Instance.Deserialize<object>(reader.ReadString());
                         }
                         break;
                     case "user":
                         if (!reader.TryReadNil())
                         {
                             //result.user = MessagePack_Newtonsoft_Object.Instance.Deserialize(ref reader, options);
-                            result.user = Serialization_Newtonsoft.Instance.DeserializeFromString<object>(reader.ReadString());
+                            result.user = Serialization_Newtonsoft.Instance.Deserialize<object>(reader.ReadString());
                         }
                         break;
                     default:

+ 4 - 4
dotnet/Library/Sers/Sers.Core/Sers.Core.Temp/Sers.Core/Module/Rpc/Serialization/StringBuilder_RpcContextData.cs

@@ -53,7 +53,7 @@ namespace Sers.Core.Module.Rpc.Serialization
             buffer.Append("\",\"source\":\"").Append(data.caller.source).Append('"');
 
             if (data.caller.callStack != null)
-                buffer.Append(",\"callStack\":").Append(Serialization_Text.Instance.SerializeToString(data.caller.callStack));
+                buffer.Append(",\"callStack\":").Append(Serialization_Text.Instance.Serialize(data.caller.callStack));
 
             //(x.3)http
             buffer.Append("},\"http\":{\"url\":\"").Append(data.http.url)
@@ -64,15 +64,15 @@ namespace Sers.Core.Module.Rpc.Serialization
             if (data.http.protocol != null)
                 buffer.Append(",\"protocol\":").Append(data.http.protocol).Append('"');
             if (data.http.headers != null)
-                buffer.Append(",\"headers\":").Append(Serialization_Text.Instance.SerializeToString(data.http.headers));
+                buffer.Append(",\"headers\":").Append(Serialization_Text.Instance.Serialize(data.http.headers));
 
             buffer.Append("}");
 
             if (data.error != null)
-                buffer.Append(",\"error\":").Append(Serialization_Newtonsoft.Instance.SerializeToString(data.error));
+                buffer.Append(",\"error\":").Append(Serialization_Newtonsoft.Instance.Serialize(data.error));
 
             if (data.user != null)
-                buffer.Append(",\"user\":").Append(Serialization_Newtonsoft.Instance.SerializeToString(data.user));
+                buffer.Append(",\"user\":").Append(Serialization_Newtonsoft.Instance.Serialize(data.user));
 
 
 

+ 5 - 5
dotnet/Library/Sers/Sers.Core/Sers.Core.Temp/Vit.Core/Module/Serialization/Serialization_MessagePack.Newtonsoft.cs

@@ -74,11 +74,11 @@ namespace Vit.Core.Module.Serialization
                                 case JTokenType.Float: writer.Write(jv.Value<double>()); break;
                                 case JTokenType.Boolean: writer.Write(jv.Value<bool>()); break;
                                 case JTokenType.Date: writer.Write(jv.Value<DateTime>().ToString("yyyy-MM-dd HH:mm:ss")); break;
-                                default: writer.Write(Serialization_Newtonsoft.Instance.SerializeToString(jv)); break;
+                                default: writer.Write(Serialization_Newtonsoft.Instance.Serialize(jv)); break;
                             }
                             break;
                         default:
-                            string str = Serialization_Newtonsoft.Instance.SerializeToString(kv.Value);
+                            string str = Serialization_Newtonsoft.Instance.Serialize(kv.Value);
                             writer.Write(str);
                             break;
                     }
@@ -177,11 +177,11 @@ namespace Vit.Core.Module.Serialization
                                 case JTokenType.Float: writer.Write(jv.Value<double>()); break;
                                 case JTokenType.Boolean: writer.Write(jv.Value<bool>()); break;
                                 case JTokenType.Date: writer.Write(jv.Value<DateTime>().ToString("yyyy-MM-dd HH:mm:ss")); break;
-                                default: writer.Write(Serialization_Newtonsoft.Instance.SerializeToString(jv)); break;
+                                default: writer.Write(Serialization_Newtonsoft.Instance.Serialize(jv)); break;
                             }
                             break;
                         default:
-                            string str = Serialization_Newtonsoft.Instance.SerializeToString(token);
+                            string str = Serialization_Newtonsoft.Instance.Serialize(token);
                             writer.Write(str);
                             break;
                     }
@@ -262,7 +262,7 @@ namespace Vit.Core.Module.Serialization
                     return;
                 }
 
-                var str = Serialization_Newtonsoft.Instance.SerializeToString(value);
+                var str = Serialization_Newtonsoft.Instance.Serialize(value);
                 writer.Write(str);
             }
 

+ 2 - 2
dotnet/Library/Sers/Sers.Core/Sers.Core.Temp/Vit.Core/Module/Serialization/Serialization_MessagePack.Newtonsoft_Object.cs

@@ -69,11 +69,11 @@ namespace Vit.Core.Module.Serialization
                                 case JTokenType.Float: writer.Write(jv.Value<double>()); break;
                                 case JTokenType.Boolean: writer.Write(jv.Value<bool>()); break;
                                 case JTokenType.Date: writer.Write(jv.Value<DateTime>().ToString("yyyy-MM-dd HH:mm:ss")); break;
-                                default: writer.Write(Serialization_Newtonsoft.Instance.SerializeToString(jv)); break;
+                                default: writer.Write(Serialization_Newtonsoft.Instance.Serialize(jv)); break;
                             }
                             break;
                         default:
-                            string str = Serialization_Newtonsoft.Instance.SerializeToString(kv.Value);
+                            string str = Serialization_Newtonsoft.Instance.Serialize(kv.Value);
                             writer.Write(str);
                             break;
                     }

+ 4 - 4
dotnet/Library/Sers/Sers.Core/Sers.Core.Temp/Vit.Core/Module/Serialization/Serialization_MessagePack.cs

@@ -57,7 +57,7 @@ namespace Vit.Core.Module.Serialization
         #region SerializeToString
 
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
-        public string SerializeToString<T>(T value)
+        public string Serialize<T>(T value)
         {
             return MessagePackSerializer.ConvertToJson(SerializeToBytes(value), options);
         }
@@ -65,7 +65,7 @@ namespace Vit.Core.Module.Serialization
 
 
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
-        public string SerializeToString(object value, Type type)
+        public string Serialize(object value, Type type)
         {
             return MessagePackSerializer.ConvertToJson(SerializeToBytes(value), options);
         }
@@ -75,7 +75,7 @@ namespace Vit.Core.Module.Serialization
         #region DeserializeFromString
 
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
-        public T DeserializeFromString<T>(string value)
+        public T Deserialize<T>(string value)
         {
             //throw new NotImplementedException();
             var bytes = MessagePackSerializer.ConvertFromJson(value, options);
@@ -83,7 +83,7 @@ namespace Vit.Core.Module.Serialization
         }
 
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
-        public object DeserializeFromString(string value, Type type)
+        public object Deserialize(string value, Type type)
         {
             //throw new NotImplementedException();
 

+ 4 - 4
dotnet/Library/Sers/Sers.Core/Sers.Core/Module/Rpc/Serialization/Fast/BytePointor_RpcContextData.cs

@@ -58,7 +58,7 @@ namespace Sers.Core.Module.Rpc.Serialization.Fast
                 //(x.x.2)caller_callStack
                 if (data.caller.callStack != null)
                 {
-                    AppendStringValue(bytes, ref t, ERpcPropertyName.caller_callStack, Serialization.SerializeToString(data.caller.callStack));
+                    AppendStringValue(bytes, ref t, ERpcPropertyName.caller_callStack, Serialization.Serialize(data.caller.callStack));
                 }
 
                 //(x.x.3)caller_source
@@ -100,7 +100,7 @@ namespace Sers.Core.Module.Rpc.Serialization.Fast
                 //(x.x.5)http_headers
                 if (data.http.headers != null)
                 {
-                    AppendStringValue(bytes, ref t, ERpcPropertyName.http_headers, Serialization.SerializeToString(data.http.headers));
+                    AppendStringValue(bytes, ref t, ERpcPropertyName.http_headers, Serialization.Serialize(data.http.headers));
                 }
 
                 #endregion
@@ -109,13 +109,13 @@ namespace Sers.Core.Module.Rpc.Serialization.Fast
                 //(x.4)error
                 if (data.error != null)
                 {
-                    AppendStringValue(bytes, ref t, ERpcPropertyName.error, Serialization.SerializeToString(data.error));
+                    AppendStringValue(bytes, ref t, ERpcPropertyName.error, Serialization.Serialize(data.error));
                 }
 
                 //(x.5)user
                 if (data.user != null)
                 {
-                    AppendStringValue(bytes, ref t, ERpcPropertyName.user, Serialization.SerializeToString(data.user));
+                    AppendStringValue(bytes, ref t, ERpcPropertyName.user, Serialization.Serialize(data.user));
                 }
 
             }

+ 4 - 4
dotnet/Library/Sers/Sers.Core/Sers.Core/Module/Serialization/Text/JsonConverter_Newtonsoft.cs

@@ -61,11 +61,11 @@ namespace Sers.Core.Module.Serialization.Text
                             case JTokenType.Boolean: writer.WriteBooleanValue(jv.Value<bool>()); break;
                             case JTokenType.Date: writer.WriteStringValue(jv.Value<DateTime>().ToString("yyyy-MM-dd HH:mm:ss")); break;
 
-                            default: writer.WriteStringValue(Serialization_Newtonsoft.Instance.SerializeToString(jv)); break;
+                            default: writer.WriteStringValue(Serialization_Newtonsoft.Instance.Serialize(jv)); break;
                         }
                         break;
                     default:
-                        string str = Serialization_Newtonsoft.Instance.SerializeToString(kv.Value);
+                        string str = Serialization_Newtonsoft.Instance.Serialize(kv.Value);
                         writer.WriteStringValue(str);
                         break;
                 }
@@ -209,11 +209,11 @@ namespace Sers.Core.Module.Serialization.Text
                             case JTokenType.Boolean: writer.WriteBooleanValue(jv.Value<bool>()); break;
                             case JTokenType.Date: writer.WriteStringValue(jv.Value<DateTime>().ToString("yyyy-MM-dd HH:mm:ss")); break;
 
-                            default: writer.WriteStringValue(Serialization_Newtonsoft.Instance.SerializeToString(jv)); break;
+                            default: writer.WriteStringValue(Serialization_Newtonsoft.Instance.Serialize(jv)); break;
                         }
                         break;
                     default:
-                        string str = Serialization_Newtonsoft.Instance.SerializeToString(token);
+                        string str = Serialization_Newtonsoft.Instance.Serialize(token);
                         writer.WriteStringValue(str);
                         break;
                 }

+ 10 - 8
dotnet/Library/Sers/Sers.Core/Sers.Core/Module/Serialization/Text/Serialization_Text.cs

@@ -2,6 +2,7 @@
 using System.Runtime.CompilerServices;
 using System.Text.Json;
 using System.Text.Unicode;
+
 using Vit.Core.Module.Serialization;
 using Vit.Core.Util.ConfigurationManager;
 using Vit.Extensions;
@@ -35,13 +36,14 @@ namespace Sers.Core.Module.Serialization.Text
         public Serialization_Text()
         {
             options.AddConverter_Newtonsoft();
- 
+
 
             //日期格式化
             var DateTimeFormat = Appsettings.json.GetByPath<string>("Vit.Serialization.DateTimeFormat")
               ?? "yyyy-MM-dd HH:mm:ss";
 
             jsonConverter_DateTime = options.AddConverter_DateTime(DateTimeFormat);
+
         }
 
 
@@ -55,10 +57,10 @@ namespace Sers.Core.Module.Serialization.Text
 
         #region (x.1)object <--> String
 
-        #region SerializeToString
+        #region Serialize
 
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
-        public string SerializeToString<T>(T value)
+        public string Serialize<T>(T value)
         {
             return JsonSerializer.Serialize(value, options);
         }
@@ -66,7 +68,7 @@ namespace Sers.Core.Module.Serialization.Text
 
 
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
-        public string SerializeToString(object value, Type type)
+        public string Serialize(object value, Type type)
         {
             return JsonSerializer.Serialize(value, type, options);
         }
@@ -75,17 +77,17 @@ namespace Sers.Core.Module.Serialization.Text
 
 
 
-        #region DeserializeFromString   
+        #region Deserialize 
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
-        public T DeserializeFromString<T>(string value)
+        public T Deserialize<T>(string value)
         {
-            return (T)DeserializeFromString(value, typeof(T));
+            return (T)Deserialize(value, typeof(T));
         }
 
 
 
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
-        public object DeserializeFromString(string value, Type type)
+        public object Deserialize(string value, Type type)
         {
             return JsonSerializer.Deserialize(value, type, options);
         }

+ 14 - 8
dotnet/Library/Vit/Vit.Core/Test/Vit.Core.MsTest/Module/SerializationTest.cs

@@ -53,7 +53,7 @@ namespace Vit.Core.MsTest.Module
             #endregion
 
 
-            #region (x.6)DateTimeFormat           
+            #region (x.6)DateTimeFormat
 
             var obj = new
             {
@@ -62,15 +62,21 @@ namespace Vit.Core.MsTest.Module
             };
 
             string str = obj.Serialize();
+            var DateFormatString = Serialization_Newtonsoft.Instance.serializeSetting.DateFormatString;
+            try
+            {
+                Serialization_Newtonsoft.Instance.serializeSetting.DateFormatString = "yyyy-MM-dd";
 
-            Serialization_Newtonsoft.Instance.serializeSetting.DateFormatString = "yyyy-MM-dd";
-
-            string str2 = obj.Serialize();
-            var jtObj = str2.Deserialize<JObject>();
-
-            Assert.AreEqual(jtObj.StringGetByPath("Date"), "2019-01-01");
-            Assert.AreEqual(jtObj.StringGetByPath("obj", "Date2"), "2019-02-02");
+                string str2 = obj.Serialize();
+                var jtObj = str2.Deserialize<JObject>();
 
+                Assert.AreEqual(jtObj.StringGetByPath("Date"), "2019-01-01");
+                Assert.AreEqual(jtObj.StringGetByPath("obj", "Date2"), "2019-02-02");
+            }
+            finally
+            {
+                Serialization_Newtonsoft.Instance.serializeSetting.DateFormatString = DateFormatString;
+            }
             #endregion
 
 

+ 1 - 1
dotnet/Library/Vit/Vit.Core/Vit.Core/Extensions/IDictionaryExtensions.cs

@@ -22,7 +22,7 @@ namespace Vit.Extensions
         {
             if (data == null || data.ContainsKey(key))
             {
-                return false;               
+                return false;
             }
             data.Add(key, value);
             return true;

+ 30 - 0
dotnet/Library/Vit/Vit.Core/Vit.Core/Extensions/Json/TypeExtensions.cs

@@ -1,4 +1,5 @@
 using System;
+using System.Reflection;
 using System.Runtime.CompilerServices;
 
 namespace Vit.Extensions.Json_Extensions
@@ -83,6 +84,35 @@ namespace Vit.Extensions.Json_Extensions
         #endregion
 
 
+        #region IsNumericType
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="type"></param>
+        /// <returns></returns>
+        public static bool IsNumericType(this Type type) 
+        {
+            type = GetUnderlyingTypeIfNullable(type);
+            switch (Type.GetTypeCode(type))
+            {
+                case TypeCode.Byte:
+                case TypeCode.SByte:
+                case TypeCode.UInt16:
+                case TypeCode.UInt32:
+                case TypeCode.UInt64:
+                case TypeCode.Int16:
+                case TypeCode.Int32:
+                case TypeCode.Int64:
+                case TypeCode.Decimal:
+                case TypeCode.Double:
+                case TypeCode.Single: 
+                    return true;
+            }
+            return false;
+        }
+        #endregion
+
+
         #region DefaultValue
 
         /// <summary>

+ 4 - 4
dotnet/Library/Vit/Vit.Core/Vit.Core/Module/Serialization/ISerialization.cs

@@ -13,7 +13,7 @@ namespace Vit.Core.Module.Serialization
         /// <typeparam name="T"></typeparam>
         /// <param name="value"></param>
         /// <returns></returns>
-        string SerializeToString<T>(T value);
+        string Serialize<T>(T value);
 
         /// <summary>
         /// T也可为值类型(例如 int?、bool) 
@@ -21,7 +21,7 @@ namespace Vit.Core.Module.Serialization
         /// <param name="value"></param>
         /// <param name="type"></param>
         /// <returns></returns>
-        string SerializeToString(object value, Type type);
+        string Serialize(object value, Type type);
 
 
 
@@ -30,7 +30,7 @@ namespace Vit.Core.Module.Serialization
         /// </summary>
         /// <param name="value"></param>
         /// <returns></returns>
-        T DeserializeFromString<T>(string value);
+        T Deserialize<T>(string value);
 
         /// <summary>
         /// 使用Newtonsoft反序列化。T也可为值类型(例如 int?、bool) 
@@ -38,7 +38,7 @@ namespace Vit.Core.Module.Serialization
         /// <param name="value"></param>
         /// <param name="type"></param>
         /// <returns></returns>
-        object DeserializeFromString(string value, Type type);
+        object Deserialize(string value, Type type);
 
         #endregion
 

+ 45 - 0
dotnet/Library/Vit/Vit.Core/Vit.Core/Module/Serialization/ISerialization_Extensions.cs

@@ -0,0 +1,45 @@
+using System;
+
+namespace Vit.Core.Module.Serialization
+{
+    public static class ISerialization_Extensions
+    {
+        #region (x.1)object <--> String
+
+        ///// <summary>
+        ///// T也可为值类型(例如 int?、bool) 
+        ///// </summary>
+        ///// <typeparam name="T"></typeparam>
+        ///// <param name="value"></param>
+        ///// <returns></returns>
+        //string Serialize<T>(T value);
+
+        ///// <summary>
+        ///// T也可为值类型(例如 int?、bool) 
+        ///// </summary>
+        ///// <param name="value"></param>
+        ///// <param name="type"></param>
+        ///// <returns></returns>
+        //string Serialize(object value, Type type);
+
+
+
+        ///// <summary>
+        ///// 使用Newtonsoft反序列化。T也可为值类型(例如 int?、bool) 
+        ///// </summary>
+        ///// <param name="value"></param>
+        ///// <returns></returns>
+        //T DeserializeFromString<T>(string value);
+
+        ///// <summary>
+        ///// 使用Newtonsoft反序列化。T也可为值类型(例如 int?、bool) 
+        ///// </summary>
+        ///// <param name="value"></param>
+        ///// <param name="type"></param>
+        ///// <returns></returns>
+        //object DeserializeFromString(string value, Type type);
+
+        #endregion
+
+    }
+}

+ 63 - 0
dotnet/Library/Vit/Vit.Core/Vit.Core/Module/Serialization/Json.Extensions.cs

@@ -0,0 +1,63 @@
+using System;
+using System.Runtime.CompilerServices;
+
+namespace Vit.Core.Module.Serialization
+{
+    public static partial class Json
+    {
+
+        #region (x.1)object <--> String
+
+        /// <summary>
+        /// T也可为值类型(例如 int?、bool) 
+        /// </summary>
+        /// <typeparam name="T"></typeparam>
+        /// <param name="value"></param>
+        /// <returns></returns>
+        [MethodImpl(MethodImplOptions.AggressiveInlining)]
+        public static string SerializeToString<T>(T value)
+        {
+            return Instance.Serialize<T>(value);
+        }
+
+        /// <summary>
+        /// T也可为值类型(例如 int?、bool) 
+        /// </summary>
+        /// <param name="value"></param>
+        /// <param name="type"></param>
+        /// <returns></returns>
+        [MethodImpl(MethodImplOptions.AggressiveInlining)]
+        public static string SerializeToString(object value, Type type)
+        {
+            return Instance.Serialize(value, type);
+        }
+
+
+
+        /// <summary>
+        /// 使用Newtonsoft反序列化。T也可为值类型(例如 int?、bool) 
+        /// </summary>
+        /// <param name="value"></param>    
+        /// <returns></returns>
+        [MethodImpl(MethodImplOptions.AggressiveInlining)]
+        public static T DeserializeFromString<T>(string value)
+        {
+            return Instance.Deserialize<T>(value);
+        }
+
+        /// <summary>
+        /// 使用Newtonsoft反序列化。T也可为值类型(例如 int?、bool) 
+        /// </summary>
+        /// <param name="value"></param>
+        /// <param name="type"></param>
+        /// <returns></returns>
+        [MethodImpl(MethodImplOptions.AggressiveInlining)]
+        public static object DeserializeFromString(string value, Type type)
+        {
+            return Instance.Deserialize(value, type);
+        }
+
+        #endregion
+
+    }
+}

+ 6 - 58
dotnet/Library/Vit/Vit.Core/Vit.Core/Module/Serialization/Json.cs

@@ -1,70 +1,18 @@
-
-using System;
+using System;
 using System.Runtime.CompilerServices;
 
 using Vit.Extensions.Json_Extensions;
 
 namespace Vit.Core.Module.Serialization
 {
-    public static class Json
+    public static partial class Json
     {
 
         public static ISerialization Instance { get; set; } = Serialization_Newtonsoft.Instance;
 
 
-        #region (x.1)object <--> String
-
-        /// <summary>
-        /// T也可为值类型(例如 int?、bool) 
-        /// </summary>
-        /// <typeparam name="T"></typeparam>
-        /// <param name="value"></param>
-        /// <returns></returns>
-        [MethodImpl(MethodImplOptions.AggressiveInlining)]
-        public static string SerializeToString<T>(T value)
-        {
-            return Instance.SerializeToString<T>(value);
-        }
-
-        /// <summary>
-        /// T也可为值类型(例如 int?、bool) 
-        /// </summary>
-        /// <param name="value"></param>
-        /// <param name="type"></param>
-        /// <returns></returns>
-        [MethodImpl(MethodImplOptions.AggressiveInlining)]
-        public static string SerializeToString(object value, Type type)
-        {
-            return Instance.SerializeToString(value, type);
-        }
 
 
-
-        /// <summary>
-        /// 使用Newtonsoft反序列化。T也可为值类型(例如 int?、bool) 
-        /// </summary>
-        /// <param name="value"></param>    
-        /// <returns></returns>
-        [MethodImpl(MethodImplOptions.AggressiveInlining)]
-        public static T DeserializeFromString<T>(string value)
-        {
-            return Instance.DeserializeFromString<T>(value);
-        }
-
-        /// <summary>
-        /// 使用Newtonsoft反序列化。T也可为值类型(例如 int?、bool) 
-        /// </summary>
-        /// <param name="value"></param>
-        /// <param name="type"></param>
-        /// <returns></returns>
-        [MethodImpl(MethodImplOptions.AggressiveInlining)]
-        public static object DeserializeFromString(string value, Type type)
-        {
-            return Instance.DeserializeFromString(value, type);
-        }
-
-        #endregion
-
         #region (x.1)object <--> String
 
         /// <summary>
@@ -76,7 +24,7 @@ namespace Vit.Core.Module.Serialization
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public static string Serialize<T>(T value)
         {
-            return Instance.SerializeToString<T>(value);
+            return Instance.Serialize<T>(value);
         }
 
         /// <summary>
@@ -88,7 +36,7 @@ namespace Vit.Core.Module.Serialization
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public static string Serialize(object value, Type type)
         {
-            return Instance.SerializeToString(value, type);
+            return Instance.Serialize(value, type);
         }
 
 
@@ -101,7 +49,7 @@ namespace Vit.Core.Module.Serialization
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public static T Deserialize<T>(string value)
         {
-            return Instance.DeserializeFromString<T>(value);
+            return Instance.Deserialize<T>(value);
         }
 
         /// <summary>
@@ -113,7 +61,7 @@ namespace Vit.Core.Module.Serialization
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public static object Deserialize(string value, Type type)
         {
-            return Instance.DeserializeFromString(value, type);
+            return Instance.Deserialize(value, type);
         }
 
         #endregion

+ 11 - 11
dotnet/Library/Vit/Vit.Core/Vit.Core/Module/Serialization/Serialization_Newtonsoft.cs

@@ -142,7 +142,7 @@ namespace Vit.Core.Module.Serialization
 
         #region (x.1)object <--> String
 
-        #region SerializeToString
+        #region Serialize
 
         /// <summary>
         /// T也可为值类型(例如 int?、bool) 
@@ -151,11 +151,11 @@ namespace Vit.Core.Module.Serialization
         /// <param name="value"></param>
         /// <returns></returns>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
-        public string SerializeToString<T>(T value)
+        public string Serialize<T>(T value)
         {
             if (null == value) return null;
 
-            return SerializeToString(value, value.GetType());
+            return Serialize(value, value.GetType());
         }
 
         /// <summary>
@@ -165,7 +165,7 @@ namespace Vit.Core.Module.Serialization
         /// <param name="type"></param>
         /// <returns></returns>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
-        public string SerializeToString(object value, Type type)
+        public string Serialize(object value, Type type)
         {
             if (null == value) return null;
 
@@ -191,7 +191,7 @@ namespace Vit.Core.Module.Serialization
 
         #endregion
 
-        #region DeserializeFromString
+        #region Deserialize
 
         /// <summary>
         /// 使用Newtonsoft反序列化。T也可为值类型(例如 int?、bool) 
@@ -199,7 +199,7 @@ namespace Vit.Core.Module.Serialization
         /// <param name="value"></param>
         /// <returns></returns>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
-        public T DeserializeFromString<T>(string value)
+        public T Deserialize<T>(string value)
         {
             //return (T)DeserializeFromString(value,typeof(T));
             if (null == value) return default;
@@ -226,7 +226,7 @@ namespace Vit.Core.Module.Serialization
         /// <param name="type"></param>
         /// <returns></returns>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
-        public object DeserializeFromString(string value, Type type)
+        public object Deserialize(string value, Type type)
         {
             if (null == value || null == type) return null;
 
@@ -287,7 +287,7 @@ namespace Vit.Core.Module.Serialization
                     return asbs.ArraySegmentByteToBytes();
                 case string str:
                     strValue = str; break;
-                default: strValue = SerializeToString(obj); break;
+                default: strValue = Serialize(obj); break;
             }
 
             return StringToBytes(strValue, encoding);
@@ -346,7 +346,7 @@ namespace Vit.Core.Module.Serialization
             {
                 return strValue;
             }
-            return DeserializeFromString(strValue, type);
+            return Deserialize(strValue, type);
         }
         #endregion
 
@@ -369,7 +369,7 @@ namespace Vit.Core.Module.Serialization
             {
                 return strValue;
             }
-            return DeserializeFromString(strValue, type);
+            return Deserialize(strValue, type);
         }
         #endregion
 
@@ -441,7 +441,7 @@ namespace Vit.Core.Module.Serialization
             {
                 return strValue;
             }
-            return DeserializeFromString(strValue, type);
+            return Deserialize(strValue, type);
         }
         #endregion