You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

46 lines
1.4 KiB
C#

9 months ago
using Newtonsoft.Json;
using Newtonsoft.Json.Serialization;
using System;
namespace JwKdsV.Core.Utils
{
public class JsonUtils
{
public static JsonSerializerSettings NewJsonSerializerSettings()
{
return new JsonSerializerSettings
{
//ContractResolver = new CamelCasePropertyNamesContractResolver() ,
DateFormatHandling = Newtonsoft.Json.DateFormatHandling.MicrosoftDateFormat ,
DateFormatString = "yyyy-MM-dd HH:mm:ss",
NullValueHandling = NullValueHandling.Ignore
};
}
public static string Serialize(object value)
{
JsonSerializerSettings jsonSerializerSettings = NewJsonSerializerSettings();
string json = JsonConvert.SerializeObject(value , jsonSerializerSettings);
return json;
}
public static T Deserialize<T>(string json)
{
JsonSerializerSettings jsonSerializerSettings = NewJsonSerializerSettings();
var value = JsonConvert.DeserializeObject<T>(json , jsonSerializerSettings);
return value;
}
public static object Deserialize(string json, Type type)
{
JsonSerializerSettings jsonSerializerSettings = NewJsonSerializerSettings();
var value = JsonConvert.DeserializeObject(json, type, jsonSerializerSettings);
return value;
}
}
}