C# Newtonsoft.Json JsonSerializerSettings 全局序列化设置

  1. Newtonsoft.Json.JsonSerializerSettings setting = new Newtonsoft.Json.JsonSerializerSettings();
  2. JsonConvert.DefaultSettings = new Func<JsonSerializerSettings>(() =>
  3. {
  4.     //日期类型默认格式化处理
  5.   setting.DateFormatHandling = Newtonsoft.Json.DateFormatHandling.MicrosoftDateFormat;
  6. setting.DateFormatString = "yyyy-MM-dd HH:mm:ss";
  7.     //空值处理
  8. setting.NullValueHandling = NullValueHandling.Ignore;
  9. //高级用法九中的Bool类型转换 设置
  10. setting.Converters.Add(new BoolConvert("是,否"));
  11. return setting;
  12. });

    序列化时 指定Key的处理方式,为驼峰式

    CamelCasePropertyNamesContractResolver

    //设置序列化时key为驼峰样式

    JsonSerializerSettings settings = new JsonSerializerSettings();

    settings.ContractResolver = new CamelCasePropertyNamesContractResolver();

    settings.Formatting = Formatting.Indented;

    string str = JsonConvert.SerializeObject(menus, settings);

原文地址:https://www.cnblogs.com/94cool/p/9650616.html

时间: 2024-11-07 16:08:48

C# Newtonsoft.Json JsonSerializerSettings 全局序列化设置的相关文章

Newtonsoft.Json类的序列化顺序

在使用NewtonSoft.Json把对象序列化成Json文档时,有一点千万要注意: 生成Json文档的属性顺序取决于类的属性的书写顺序: 即 class Person { string Name{get;set;} string Age{get;set;} } 序列化后得到的Json就是[{"Name":"","Age":""}] 如果 class Person { string Age{get;set;} string N

C# Newtonsoft.Json JObject移除属性,在序列化时忽略

原文 C# Newtonsoft.Json JObject移除属性,在序列化时忽略 一.针对 单个 对象移除属性,序列化时忽略处理 JObject实例的 Remove() 方法,可以在 指定序列化时移除属性和值 示例如下 : [csharp] view plain copy //json 序列化 JObject obj1 = JObject.FromObject(new { id = 1, name = "张三", age = 20 }); Console.WriteLine(obj1

[.net 面向对象程序设计进阶] (13) 序列化(Serialization)(五) JSON序列化利器 Newtonsoft.Json 及 通用Json类

[.net 面向对象程序设计进阶] (13) 序列化(Serialization)(五) JSON序列化利器 Newtonsoft.Json 及 通用Json类 本节导读: 关于JSON序列化,不能不了解Json.net(Newtonsoft.Json)这款世界级的开源类库,除了拥有良好的性能之外,功能也是非常强大的. 本节会详细说明这个类库.此外,对于不喜欢使用第三方类库的同学,会整理一个基于微软类库的通用Json类. 读前必备: 本节主要介绍一款第三方类库和一个自己整理封装的类库,说起到封装

序列化-Newtonsoft.Json

前言:作为开发人员,对象的序列化恐怕难以避免.楼主也是很早以前就接触过序列化,可是理解都不太深刻,对于用哪种方式去做序列化更是随波逐流,都是项目中原来用的什么方式照着用就好了.总结了下,从使用序列化到现在,用到的无非就是下面几种方式:(1)JavascriptSerializer:(2)DataContract:(3)Newtonsoft.Json 1.序列化方式对应类库介绍: (1)JavaScriptSerializer这个类是.Net内置的,属于System.Web.Script.Seri

Newtonsoft.Json(Json.Net)学习笔记-高级使用(转)

1.忽略某些属性 2.默认值的处理 3.空值的处理 4.支持非公共成员 5.日期处理 6.自定义序列化的字段名称 7.动态决定属性是否序列化 8.枚举值的自定义格式化问题 9.自定义类型转换 10.全局序列化设置  一.忽略某些属性 类似本问开头介绍的接口优化,实体中有些属性不需要序列化返回,可以使用该特性.首先介绍Json.Net序列化的模式:OptOut 和 OptIn OptOut 默认值,类中所有公有成员会被序列化,如果不想被序列化,可以用特性JsonIgnore OptIn 默认情况下

Newtonsoft.Json高级用法

手机端应用讲究速度快,体验好.刚好手头上的一个项目服务端接口有性能问题,需要进行优化.在接口多次修改中,实体添加了很多字段用于中间计算或者存储,然后最终用Newtonsoft.Json进行序列化返回数据,经过分析一个简单的列表接口每一行数据返回了16个字段,但是手机APP端只用到了其中7个字段,剩余9个字段的数据全部都是多余的,如果接口返回数据为40K大小,也就是说大约20K的数据为无效数据,3G网络下20K下载差不多需要1s,不返回无效数据至少可以节约1s的时间,大大提高用户体验.本篇将为大家

Newtonsoft.Json 高级用法

基本用法 Json.NET是支持序列化和反序列化DataTable,DataSet,Entity Framework和Entity的.下面分别举例说明序列化和反序列化. DataTable: //序列化DataTable DataTable dt = new DataTable(); dt.Columns.Add("Age", Type.GetType("System.Int32")); dt.Columns.Add("Name", Type.G

再谈Newtonsoft.Json高级用法

上一篇Newtonsoft.Json高级用法发布以后收到挺多回复的,本篇将分享几点挺有用的知识点和最近项目中用到的一个新点进行说明,做为对上篇文章的补充. 阅读目录 动态改变属性序列化名称 枚举值序列化问题 全局设置 总结 回到顶部 动态改变属性序列化名称 "动态改变属性序列化名称"顾名思义:在不同场景下实体字段序列化后字段名称不同,比如有下面实体A,正常序列化后json为{"Id":"123"} public class A { public

【Json】Newtonsoft.Json高级用法

手机端应用讲究速度快,体验好.刚好手头上的一个项目服务端接口有性能问题,需要进行优化.在接口多次修改中,实体添加了很多字段用于中间计算或者存储,然后最终用Newtonsoft.Json进行序列化返回数据,经过分析一个简单的列表接口每一行数据返回了16个字段,但是手机APP端只用到了其中7个字段,剩余9个字段的数据全部都是多余的,如果接口返回数据为40K大小,也就是说大约20K的数据为无效数据,3G网络下20K下载差不多需要1s,不返回无效数据至少可以节约1s的时间,大大提高用户体验.本篇将为大家