扩展.json序列反序列化
json序列反序列化
代码拿去复制粘贴即可
代码如下:
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.Collections.Generic;
using System.Data;
namespace Dolphin.Util
{ /// <summary>
/// 创建人:_dolphin
/// 日 期:2021.10.27
/// 描 述:扩展.json序列反序列化
/// </summary>
public static partial class Extensions
{
/// <summary>
/// 转成json对象
/// </summary>
/// <param name="Json">json字串</param>
/// <returns></returns>
public static object ToJson(this string Json)
{
return Json == null ? null : JsonConvert.DeserializeObject(Json);
}
/// <summary>
/// 转成json字串
/// </summary>
/// <param name="obj">对象</param>
/// <returns></returns>
public static string ToJson(this object obj)
{
var timeConverter = new IsoDateTimeConverter { DateTimeFormat = "yyyy-MM-dd HH:mm:ss" };
return JsonConvert.SerializeObject(obj, timeConverter);
}
/// <summary>
/// 转成json字串
/// </summary>
/// <param name="obj">对象</param>
/// <param name="datetimeformats">时间格式化</param>
/// <returns></returns>
public static string ToJson(this object obj, string datetimeformats)
{
var timeConverter = new IsoDateTimeConverter { DateTimeFormat = datetimeformats };
return JsonConvert.SerializeObject(obj, timeConverter);
}
/// <summary>
/// 字串反序列化成指定对象实体
/// </summary>
/// <typeparam name="T">实体类型</typeparam>
/// <param name="Json">字串</param>
/// <returns></returns>
public static T ToObject<T>(this string Json)
{
return Json == null ? default(T) : JsonConvert.DeserializeObject<T>(Json);
}
/// <summary>
/// 字串反序列化成指定对象实体(列表)
/// </summary>
/// <typeparam name="T">实体类型</typeparam>
/// <param name="Json">字串</param>
/// <returns></returns>
public static List<T> ToList<T>(this string Json)
{
return Json == null ? null : JsonConvert.DeserializeObject<List<T>>(Json);
}
/// <summary>
/// 字串反序列化成DataTable
/// </summary>
/// <param name="Json">字串</param>
/// <returns></returns>
public static DataTable ToTable(this string Json)
{
return Json == null ? null : JsonConvert.DeserializeObject<DataTable>(Json);
}
/// <summary>
/// 字串反序列化成linq对象
/// </summary>
/// <param name="Json">字串</param>
/// <returns></returns>
public static JObject ToJObject(this string Json)
{
return Json == null ? JObject.Parse("{}") : JObject.Parse(Json.Replace(" ", ""));
}
}
}
总结
用起来非常方便了吧。