using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
namespace WcfControlMonitorWebLib
{
///
/// JSON 序列化和反序列化辅助类
///
public sealed class JsonHelper
{
///
/// 建立 Json 对象
///
/// Json 对象
public static JObject CreateObject()
{
return new JObject();
}
///
/// 建立 Json 对象
///
/// Json 表达式
/// Json 对象
public static JObject CreateObject(string jsonString)
{
try
{
return JObject.Parse(jsonString);
}
catch
{
return new JObject();
}
}
///
/// Json 序列化
///
/// 序列化元素
/// Json 表达式
public static string Serialize(object value)
{
return JsonConvert.SerializeObject(value);
}
///
/// Json 序列化
///
/// 序列化元素
/// 时间格式
/// Json 表达式
public static string Serialize(object value, string dateTimeFormat)
{
return JsonConvert.SerializeObject(value, new IsoDateTimeConverter() { DateTimeFormat = dateTimeFormat });
}
///
/// Json 反序列化
///
/// 序列化元素类型
/// Json 表达式
/// 序列化元素
public static T Deserialize(string jsonString)
{
return JsonConvert.DeserializeObject(jsonString);
}
}
}