60 lines
1.9 KiB
C#
60 lines
1.9 KiB
C#
using Newtonsoft.Json;
|
|
using Newtonsoft.Json.Converters;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
|
|
namespace 电子展板.Utility.Core
|
|
{
|
|
public static class JsonHelper
|
|
{
|
|
/// <summary>
|
|
/// 对象序列化成JSON字符串。
|
|
/// </summary>
|
|
/// <param name="obj">序列化对象</param>
|
|
/// <param name="ignoreProperties">设置需要忽略的属性</param>
|
|
/// <returns></returns>
|
|
public static string ToJson(this object obj)
|
|
{
|
|
if (obj == null)
|
|
return string.Empty;
|
|
IsoDateTimeConverter timeConverter = new IsoDateTimeConverter();
|
|
timeConverter.DateTimeFormat = "yyyy-MM-dd HH:mm:ss";
|
|
return JsonConvert.SerializeObject(obj, timeConverter);
|
|
}
|
|
|
|
/// <summary>
|
|
/// JSON字符串序列化成对象。
|
|
/// </summary>
|
|
/// <typeparam name="T">对象类型</typeparam>
|
|
/// <param name="json">JSON字符串</param>
|
|
/// <returns></returns>
|
|
public static T ToObject<T>(this string json)
|
|
{
|
|
return json.IsNullOrEmpty() ? default(T) : JsonConvert.DeserializeObject<T>(json);
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// JSON字符串序列化成集合。
|
|
/// </summary>
|
|
/// <typeparam name="T">集合类型</typeparam>
|
|
/// <param name="json">JSON字符串</param>
|
|
/// <returns></returns>
|
|
public static List<T> ToList<T>(this string json)
|
|
{
|
|
return json.IsNullOrEmpty() ? null : JsonConvert.DeserializeObject<List<T>>(json);
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// JSON字符串序列化成DataTable。
|
|
/// </summary>
|
|
/// <param name="json">JSON字符串</param>
|
|
/// <returns></returns>
|
|
public static DataTable ToTable(this string json)
|
|
{
|
|
return json.IsNullOrEmpty() ? null : JsonConvert.DeserializeObject<DataTable>(json);
|
|
}
|
|
}
|
|
}
|