60 lines
2.0 KiB
C#
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;
|
|
}
|
|
|
|
}
|
|
}
|