Swifter.Json简介
Posted 乾坤容我静,万物任他行
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Swifter.Json简介相关的知识,希望对你有一定的参考价值。
Json就不多做介绍了,Newtonsoft.Json相信大家也都用过了。今天给大家介绍另外一款json的序列化工具Swifter.Json。
GitHub地址:https://github.com/Dogwei/Swifter.Json/wiki
Wiki地址:https://github.com/Dogwei/Swifter.Json
部分 .Net 现有的 JSON 工具性能对比
.Net Core 3.0 Previews running results.
.Net Framework 4.7.1 Previews running results.
本人测试Swifter.Json 与 Newtonsoft.Json,超过百万次后Swifter.Json的性能是Newtonsoft.Json的三到五倍。
简单使用
新建一个Demo类
public class Demo { public int Id { get; set; } public string FirstName { get; set; } public DateTime CreateTime { get; set; } }
//1、基本使用 //序列化一个对象为json var json = JsonFormatter.SerializeObject(new { Id = 1, FirstName = "Ma", CreateTime =DateTime.Now}); var dic = JsonFormatter.DeserializeObject<Demo>(json);
//2、日期格式的处理
var jsonFormatter2 = new JsonFormatter();
jsonFormatter2.SetDateTimeFormat("yyyy-MM-dd HH:mm:ss"); //设置json中日期为统一格式
Demo de2 = new Demo { Id = 1, FirstName = "", CreateTime = DateTime.Now };
var json2 = jsonFormatter2.Serialize<Demo>(de2);
//也可以在上面的实体类属性上设置
[RWFormat("yyyy-MM-dd HH:mm:ss")]
public DateTime CreateTime { get; set; }
//3、字段特殊处理 var jsonFormatter3 = new JsonFormatter( JsonFormatterOptions.IgnoreNull // 忽略 Null 值 | JsonFormatterOptions.IgnoreZero // 忽略基础类型的 0 值 | JsonFormatterOptions.IgnoreEmptyString // 忽略字符串 "" 值 ); jsonFormatter3.SetDateTimeFormat("yyyy-MM-dd HH:mm:ss"); Demo de3 = new Demo { Id = 1, FirstName = "ss", CreateTime = DateTime.Now }; var json3= jsonFormatter3.Serialize<Demo>(de3);
其他使用方式可以去Wiki上查看,总体跟Newtonsoft.Json使用方式大同小异。
才疏学浅,相关文档等仅供自我总结,如有相关问题可留言交流谢谢。
以上是关于Swifter.Json简介的主要内容,如果未能解决你的问题,请参考以下文章
Swifter.Json 可能是 .Net 平台迄今为止性能最佳的 Json 序列化库开源
[.NET 开源] 高性能的 Swifter.MessagePack 已发布,并附带新版本的 Swifter.Json 和 Swifter.Data。
Swifter.Json -- 在 .Net 平台上的一个功能强大,简单易用,稳定又不失高性能的 JSON 序列化和反序列化工具。
迄今为止 .Net 平台功能最强大,性能最佳的 JSON 序列化和反序列化库。
Android 逆向类加载器 ClassLoader ( 类加载器源码简介 | BaseDexClassLoader | DexClassLoader | PathClassLoader )(代码片段
Android 逆向Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段