using YamlDotNet.Serialization; using YamlDotNet.Serialization.NamingConventions; namespace ServiceLib.Common { public class YamlUtils { #region YAML /// /// 反序列化成对象 /// /// /// /// public static T FromYaml(string str) { var deserializer = new DeserializerBuilder() .WithNamingConvention(PascalCaseNamingConvention.Instance) .Build(); try { T obj = deserializer.Deserialize(str); return obj; } catch (Exception ex) { Logging.SaveLog("FromYaml", ex); return deserializer.Deserialize(""); } } /// /// 序列化 /// /// /// public static string ToYaml(Object obj) { var serializer = new SerializerBuilder() .WithNamingConvention(HyphenatedNamingConvention.Instance) .Build(); string result = string.Empty; try { result = serializer.Serialize(obj); } catch (Exception ex) { Logging.SaveLog(ex.Message, ex); } return result; } #endregion YAML } }