|
|
|
@ -1,3 +1,4 @@ |
|
|
|
using System; |
|
|
|
using Newtonsoft.Json; |
|
|
|
using Newtonsoft.Json.Serialization; |
|
|
|
using Volo.Abp.DependencyInjection; |
|
|
|
@ -13,33 +14,38 @@ namespace Volo.Abp.Json.Newtonsoft |
|
|
|
_dateTimeConverter = dateTimeConverter; |
|
|
|
} |
|
|
|
|
|
|
|
public string Serialize(object obj, bool camelCase = false, bool indented = false) |
|
|
|
public string Serialize(object obj, bool camelCase = true, bool indented = false) |
|
|
|
{ |
|
|
|
var serializerSettings = CreateDefaultSerializerSettings(); |
|
|
|
return JsonConvert.SerializeObject(obj, CreateSerializerSettings(camelCase, indented)); |
|
|
|
} |
|
|
|
|
|
|
|
public T Deserialize<T>(string jsonString, bool camelCase = true) |
|
|
|
{ |
|
|
|
return JsonConvert.DeserializeObject<T>(jsonString, CreateSerializerSettings(camelCase)); |
|
|
|
} |
|
|
|
|
|
|
|
public object Deserialize(Type type, string jsonString, bool camelCase = true) |
|
|
|
{ |
|
|
|
return JsonConvert.DeserializeObject(jsonString, type, CreateSerializerSettings(camelCase)); |
|
|
|
} |
|
|
|
|
|
|
|
protected virtual JsonSerializerSettings CreateSerializerSettings(bool camelCase = true, bool indented = false) |
|
|
|
{ |
|
|
|
var settings = new JsonSerializerSettings(); |
|
|
|
|
|
|
|
settings.Converters.Insert(0, _dateTimeConverter); |
|
|
|
|
|
|
|
if (camelCase) |
|
|
|
{ |
|
|
|
serializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); |
|
|
|
settings.ContractResolver = new CamelCasePropertyNamesContractResolver(); |
|
|
|
} |
|
|
|
|
|
|
|
if (indented) |
|
|
|
{ |
|
|
|
serializerSettings.Formatting = Formatting.Indented; |
|
|
|
settings.Formatting = Formatting.Indented; |
|
|
|
} |
|
|
|
|
|
|
|
return JsonConvert.SerializeObject(obj, serializerSettings); |
|
|
|
} |
|
|
|
|
|
|
|
protected virtual JsonSerializerSettings CreateDefaultSerializerSettings() |
|
|
|
{ |
|
|
|
var settings = new JsonSerializerSettings(); |
|
|
|
settings.Converters.Insert(0, _dateTimeConverter); |
|
|
|
|
|
|
|
return settings; |
|
|
|
} |
|
|
|
|
|
|
|
public T Deserialize<T>(string jsonString) |
|
|
|
{ |
|
|
|
return JsonConvert.DeserializeObject<T>(jsonString); |
|
|
|
} |
|
|
|
} |
|
|
|
} |