using Swifter.Json; using System; using System.Collections.Generic; using System.IO; using System.Text; using System.Threading.Tasks; namespace Core.RabbitMQBus.EventBus { public class SwifterJsonSerializer : ISerializer { /// <summary> /// 将指定类型的实例序列化为string /// </summary> /// <param name="value"></param> /// <returns></returns> public static string SerializeObject(object value) { var strValue = JsonFormatter.SerializeObject(value); return strValue; } /// <summary> /// 将指定类型的实例序列化为Byte[] /// </summary> /// <param name="value"></param> /// <returns></returns> public static byte[] SerializeObjectToByte(object value) { var strValue = JsonFormatter.SerializeObject(value); return Encoding.Default.GetBytes(strValue); } /// <summary> /// 将 Json 字符串反序列化为指定类型的实例 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="value"></param> /// <returns></returns> public static T DeserializeObject<T>(string value) { return JsonFormatter.DeserializeObject<T>(value); } /// <summary> /// 根据类型解析json /// </summary> /// <param name="value"></param> /// <param name="type"></param> public static object DeserializeObject(string value, Type type) { var obj = JsonFormatter.DeserializeObject(value, type); return obj; } } }