JsonHelper
using Newtonsoft.Json; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace xiaoy.Comm { /// <summary> /// json序列化helper类 /// </summary> public class JsonHelper { /// <summary> /// 从json文件中反序列化对象 文件名默认用类型名称 /// </summary> /// <typeparam name="T"></typeparam> /// <returns></returns> public static T Read<T>() { string filepath = AppDomain.CurrentDomain.BaseDirectory + typeof(T).Name + ".json"; if (!File.Exists(filepath)) return default(T); return JsonConvert.DeserializeObject<T>(File.ReadAllText(filepath)); } /// <summary> /// 序列化对象到文件中 文件名默认用类型名称 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="model"></param> public static void Write<T>(object model) { string filepath = AppDomain.CurrentDomain.BaseDirectory + typeof(T).Name + ".json"; File.WriteAllText(filepath, JsonConvert.SerializeObject(model)); } /// <summary> /// 返回格式化json字符串,用于显示 /// </summary> /// <param name="str">原始json字符串</param> /// <returns></returns> public static string ConvertJsonString(string str) { try { //格式化json字符串 JsonSerializer serializer = new JsonSerializer(); TextReader tr = new StringReader(str); JsonTextReader jtr = new JsonTextReader(tr); object obj = serializer.Deserialize(jtr); if (obj != null) { StringWriter textWriter = new StringWriter(); JsonTextWriter jsonWriter = new JsonTextWriter(textWriter) { Formatting = Formatting.Indented, Indentation = 4, IndentChar = ' ' }; serializer.Serialize(jsonWriter, obj); return textWriter.ToString(); } else { return str; } } catch { return str; } } } }
-----------------------------------------------------------------

浙公网安备 33010602011771号