using Newtonsoft.Json; using System.Configuration; using System.Web.Configuration; using System.Web.Script.Serialization; namespace CRM.Core.Common.WebHelper { public class JsonHelper { public static T JsonDivertToObj(string json) { JavaScriptSerializer script = new JavaScriptSerializer(); T dic = script.Deserialize(json); return dic; } public static string ObjDivertToJson(object obj) { ScriptingJsonSerializationSection section = ConfigurationManager.GetSection("system.web.extensions/scripting/webServices/jsonSerialization") as ScriptingJsonSerializationSection; JavaScriptSerializer script = new JavaScriptSerializer(); script.MaxJsonLength = section != null ? section.MaxJsonLength : int.MaxValue; string json = script.Serialize(obj); return json; } public static string NewtonsoftToJson(object obj) { var json = Newtonsoft.Json.JsonConvert.SerializeObject(obj); return json; } /// 将Json字符串转换为对象 /// /// Json字符串 public static T FromJson(string json) { if (string.IsNullOrWhiteSpace(json)) return default(T); return JsonConvert.DeserializeObject(json); } /// /// 将对象转换为Json字符串 /// /// 目标对象 /// 是否将双引号转成单引号 public static string ToJson(object target, bool isConvertToSingleQuotes = false) { if (target == null) return string.Empty; var result = JsonConvert.SerializeObject(target); if (isConvertToSingleQuotes) result = result.Replace("\"", "'"); return result; } } }