TG.WXCRM.V4/Core.Common/JsonHelper.cs

60 lines
2.0 KiB
C#

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<T>(string json)
{
JavaScriptSerializer script = new JavaScriptSerializer();
T dic = script.Deserialize<T>(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字符串转换为对象
/// </summary>
/// <param name="json">Json字符串</param>
public static T FromJson<T>(string json)
{
if (string.IsNullOrWhiteSpace(json))
return default(T);
return JsonConvert.DeserializeObject<T>(json);
}
/// <summary>
/// 将对象转换为Json字符串
/// </summary>
/// <param name="target">目标对象</param>
/// <param name="isConvertToSingleQuotes">是否将双引号转成单引号</param>
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;
}
}
}