using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Net6Demo_Api.Util
{
public static partial class Extention
{
///
/// 将对象序列化成Json字符串
///
/// 需要序列化的对象
///
public static string ToJson(this object obj)
{
var timeConverter = new IsoDateTimeConverter { DateTimeFormat = "yyyy-MM-dd HH:mm:ss" };
return JsonConvert.SerializeObject(obj, timeConverter);
}
///
/// 将对象序列化成Json字符串(需传入时间格式)
///
/// 需要序列化的对象
/// 时间格式
///
public static string ToJson(this object obj, string datetimeformats)
{
var timeConverter = new IsoDateTimeConverter { DateTimeFormat = datetimeformats };
return JsonConvert.SerializeObject(obj, timeConverter);
}
///
/// 将Json字符串反序列化为对象
///
/// 对象类型
/// Json字符串
///
public static T? ToObject(this string jsonStr)
{
return string.IsNullOrEmpty(jsonStr) ? default(T) : JsonConvert.DeserializeObject(jsonStr);
}
///
/// 将Json字符串反序列化为对象
///
/// json字符串
/// 对象类型
///
public static object? ToObject(this string jsonStr, Type type)
{
return JsonConvert.DeserializeObject(jsonStr, type);
}
}
}