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); }
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 + "}"); }
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()); }
public string Serialize(object objectToSerialize) { return(BasicJsonSerializer.SerializeObject(objectToSerialize)); }
private SerializationService() { this._serializer = new BasicJsonSerializer(); }