首页 > 代码库 > Xml、Json序列化
Xml、Json序列化
Xml序列化:
public class XmlHelper { private static string XmlPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, ConfigurationManager.AppSettings["XmlPath"]); public static T FileToObject<T>(string fileName) where T : new() { string fullName = Path.Combine(XmlPath, fileName); if (File.Exists(fullName)) { using (Stream fStream = new FileStream(fullName, FileMode.Open, FileAccess.ReadWrite)) { XmlSerializer xmlFormat = new XmlSerializer(typeof(T)); return (T)xmlFormat.Deserialize(fStream); } } else { return default(T); } } public static void ObjectToFile<T>(T obj, string fileName) where T : new() { string fullName = Path.Combine(XmlPath, fileName); string fullPath = Path.GetDirectoryName(fullName); if (!Directory.Exists(fullPath)) { Directory.CreateDirectory(fullPath); } using (Stream fStream = new FileStream(fullName, FileMode.Create, FileAccess.ReadWrite)) { XmlSerializer xmlFormat = new XmlSerializer(typeof(T)); xmlFormat.Serialize(fStream, obj); } } public static string ObjectToString<T>(T obj) where T : new() { XmlSerializer xmlSerializer = new XmlSerializer(obj.GetType()); Stream stream = new MemoryStream(); xmlSerializer.Serialize(stream, obj); stream.Position = 0; StreamReader reader = new StreamReader(stream); return reader.ReadToEnd(); } public static T StringToObject<T>(string content) where T : new() { using (MemoryStream stream = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(content))) { XmlSerializer xmlFormat = new XmlSerializer(typeof(T)); return (T)xmlFormat.Deserialize(stream); } } }
Json序列化:
/// <summary> /// Json序列化器 /// </summary> public class JsonHelper { private static string JsonPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, ConfigurationManager.AppSettings["JsonPath"]); public static T FileToObject<T>(string fileName) where T : new() { string fullName = Path.Combine(JsonPath, fileName); if (File.Exists(fullName)) { return StringToObject<T>(File.ReadAllText(fullName, Encoding.Default)); } else { return default(T); } } public static void ObjectToFile<T>(T obj, string fileName) where T : new() { string fullName = Path.Combine(JsonPath, fileName); string fullPath = Path.GetDirectoryName(fullName); if (!Directory.Exists(fullPath)) { Directory.CreateDirectory(fullPath); } using (FileStream fileStream = File.Create(fullName)) { string text = JsonConvert.SerializeObject(obj); byte[] bytes = Encoding.Default.GetBytes(text); fileStream.Write(bytes, 0, bytes.Length); } } public static string ObjectToString<T>(T obj) where T : new() { return JsonConvert.SerializeObject(obj); } public static T StringToObject<T>(string content) where T : new() { return JsonConvert.DeserializeObject<T>(content); } }
Xml、Json序列化
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。