Пример #1
0
 private static bool TrySerializePrimitive(
     Type objectType,
     object objectToSerialize,
     out string result)
 {
     if (objectToSerialize is DateTime)
     {
         result = "\"" + ((DateTime)objectToSerialize).ToUniversalTime().ToString("o") + "\"";
         return(true);
     }
     if (objectToSerialize is TimeSpan)
     {
         result = "\"" + ((TimeSpan)objectToSerialize).ToString() + "\"";
         return(true);
     }
     if (objectType.IsEnum)
     {
         result = "\"" + (object)(int)objectToSerialize + "\"";
         return(true);
     }
     if (objectToSerialize is string || objectToSerialize is Guid || objectToSerialize is int)
     {
         result = "\"" + objectToSerialize + "\"";
         return(true);
     }
     if (objectToSerialize is IEnumerable)
     {
         result = BasicJsonSerializer.SerializeIEnumerable((IEnumerable)objectToSerialize);
         return(true);
     }
     result = (string)null;
     return(false);
 }
Пример #2
0
        private static string SerializeObject(object objectToSerialize)
        {
            if (objectToSerialize == null)
            {
                return((string)null);
            }
            Type   type = objectToSerialize.GetType();
            string result;

            if (BasicJsonSerializer.TrySerializePrimitive(type, objectToSerialize, out result))
            {
                return(result);
            }
            if (!type.IsClass)
            {
                return((string)null);
            }
            string str1 = "{";

            foreach (PropertyInfo property in type.GetProperties())
            {
                if (str1.Length > 1)
                {
                    str1 += ",";
                }
                string str2 = BasicJsonSerializer.SerializeObject(property.GetValue(objectToSerialize, (object[])null));
                str1 = str1 + "\"" + property.Name + "\":" + str2;
            }
            return(str1 + "}");
        }
Пример #3
0
        private static string SerializeIEnumerable(IEnumerable enumerable)
        {
            StringBuilder stringBuilder = new StringBuilder("[");

            foreach (object objectToSerialize in enumerable)
            {
                if (stringBuilder.Length > 1)
                {
                    stringBuilder.Append(",");
                }
                stringBuilder.Append(BasicJsonSerializer.SerializeObject(objectToSerialize));
            }
            stringBuilder.Append("]");
            return(stringBuilder.ToString());
        }
Пример #4
0
 public string Serialize(object objectToSerialize)
 {
     return(BasicJsonSerializer.SerializeObject(objectToSerialize));
 }
Пример #5
0
 private SerializationService()
 {
     this._serializer = new BasicJsonSerializer();
 }