using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Data; using System.IO; using System.Linq; using System.Reflection; using System.Runtime.InteropServices; using System.Security.Permissions; using System.Text; using System.Threading.Tasks; namespace NXWMS.Code.Serialize { #region JSON序列化与反序列化 /// /// JSON序列化与反序列化 /// public static class JsonSerialize { #region 将对象序列化为JSON格式 /// /// 将对象序列化为JSON格式 /// /// 对象 /// json字符串 public static string SerializeObject(object o) { string json = JsonConvert.SerializeObject(o); return json; } #endregion #region 解析JSON字符串生成对象实体 /// /// 解析JSON字符串生成对象实体 /// /// /// /// 对象实体 public static T DeserializeJsonToObject(string json) { JsonSerializer serializer = new JsonSerializer(); StringReader sr = new StringReader(json); object o = serializer.Deserialize(new JsonTextReader(sr), typeof(T)); return (T)o; } #endregion #region 解析JSON字符串生成对象实体 /// /// 解析JSON数组生成对象实体集合 /// /// /// /// 对象实体集合 public static List DeserializeJsonToList(string json) { JsonSerializer serializer = new JsonSerializer(); StringReader sr = new StringReader(json); object o = serializer.Deserialize(new JsonTextReader(sr), typeof(List)); List list = o as List; return list; } #endregion #region 反序列化JSON到给定的匿名对象 /// /// 反序列化JSON到给定的匿名对象. /// /// /// /// /// 匿名对象 public static T DeserializeAnonymousType(string json, T anonymousTypeObject) { T t = JsonConvert.DeserializeAnonymousType(json, anonymousTypeObject); return t; } #endregion #region Datable转换成Json /// /// Datable转换成Json /// /// /// public static string DataTableToJsonWithJsonNet(DataTable table) { string JsonString = string.Empty; JsonString = JsonConvert.SerializeObject(table); return JsonString; } #endregion } #endregion }