using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
namespace APT.Utility
{
public static class JsonHelper
{
///
/// 把对象序列化成Json字符串格式
///
///
///
public static string ToJson(object obj)
{
return JsonConvert.SerializeObject(obj);
}
public static string ToJsonForLog(object obj)
{
return JsonConvert.SerializeObject(obj, Formatting.Indented,
new JsonSerializerSettings { ReferenceLoopHandling = ReferenceLoopHandling.Ignore });
}
///
/// 把Json字符串转换为强类型对象
///
public static T FromJson(string json)
{
return JsonConvert.DeserializeObject(json);
}
public static string Serialize(object obj)
{
return JsonConvert.SerializeObject(obj, new IsoDateTimeConverter { DateTimeFormat = "yyyy-MM-dd HH:mm:ss" });
}
public static string SerializeByConverter(object obj, params JsonConverter[] converters)
{
return JsonConvert.SerializeObject(obj, converters);
}
public static T Deserialize(string input)
{
return JsonConvert.DeserializeObject(input);
}
public static T DeserializeByConverter(string input, params JsonConverter[] converter)
{
return JsonConvert.DeserializeObject(input, converter);
}
public static T DeserializeBySetting(string input, JsonSerializerSettings settings)
{
return JsonConvert.DeserializeObject(input, settings);
}
private static object NullToEmpty(object obj)
{
return null;
}
}
}