.Net C# Newtonsoft.Json JsonSerializerSettings配置
Posted シ゛甜虾
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.Net C# Newtonsoft.Json JsonSerializerSettings配置相关的知识,希望对你有一定的参考价值。
我们使用Json的时候,常常有一些个性化设置,通过JsonSerializerSettings来进行参数配置,这里面有很多参数,下面列出一部分,是不是很多啊,但是平时我们常用的不多
第一个就是驼峰模式
//设定小驼峰模式,属性名首字母小写
var setting = new JsonSerializerSettings
ContractResolver = new Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver(),
;
第二个就是转换成string增加换行和缩进,增加易读性Formatting.Indented
JsonConvert.SerializeObject(parameters, Formatting.Indented, setting);
后面的我不是太常用
1、忽略某些属性MemberSerialization.OptIn
[JsonIgnore]
public string Name get; set;
2、默认值的处理DefaultValueHandling.Ignore
3、空值的处理NullValueHandling
4、支持非公共成员
序列化时默认都是处理公共成员,如果需要处理非公共成员,就要在该成员上加特性JsonProperty
5、日期处理DateFormatHandling
对于Dateime类型日期的格式化,系统自带的会格式化成iso日期标准"BirthDay":"2011-01-01T00:00:00"
public class LongDateTimeConvert: Newtonsoft.Json.Converters.IsoDateTimeConverter
public LongDateTimeConvert() : base()
base.DateTimeFormat = "yyyy-MM-dd";
[JsonConverter(typeof(LongDateTimeConvert))]
public DateTime BirthDay get; set;
6、自定义序列化的字段名称
[JsonProperty(PropertyName = "age")]
7、序列化循环 引用及处理层数
MaxDepth = 10; //设置序列化的最大层数
以上是关于.Net C# Newtonsoft.Json JsonSerializerSettings配置的主要内容,如果未能解决你的问题,请参考以下文章