.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配置的主要内容,如果未能解决你的问题,请参考以下文章
C#如何Json转字符串;字符串转Json;Newtonsoft.Json(Json.Net)
JsonConvert 在 Newtonsoft.Json Asp.net MVC C# 中不起作用
c# 在.NET使用Newtonsoft.Json转换,读取,写入json
分享基于.NET动态编译&Newtonsoft.Json封装实现JSON转换器(JsonConverter)原理及JSON操作技巧