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 System;
using Newtonsoft.Json;
using Newtonsoft.Json.Serialization;
namespace POSV.Common.Util
{
public class JSON
{
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;
}
}
}