public string Serialize(object obj) { var serializer = new JsonSerializer { MissingMemberHandling = MissingMemberHandling.Ignore, NullValueHandling = NullHandling, DefaultValueHandling = DefaultValueHandling.Include, ContractResolver = JsonContractResolver }; if (JsonConverters != null) { foreach (var converter in JsonConverters.Reverse().Where(writer => writer.CanWrite)) { serializer.Converters.Add(converter); } } using (var stringWriter = new StringWriter()) using (var jsonTextWriter = new JsonTextWriter(stringWriter) { QuoteName = QuoteName }) { jsonTextWriter.Formatting = Formatting.Indented; jsonTextWriter.QuoteChar = '"'; serializer.Serialize(jsonTextWriter, obj); return(stringWriter.ToString()); } }
public T Deserialize <T>(string content) { var serializer = new JsonSerializer { MissingMemberHandling = MissingMemberHandling.Ignore, NullValueHandling = NullHandling, DefaultValueHandling = DefaultValueHandling.Include }; if (JsonConverters != null) { foreach (var converter in JsonConverters.Reverse().Where(writer => writer.CanRead)) { serializer.Converters.Add(converter); } } using (var reader = new StringReader(content)) using (var jsonReader = new JsonTextReader(reader)) return(serializer.Deserialize <T>(jsonReader)); }