比Newtonsoft.Json轻量快速简洁的实体JSON转换库YeaJur.Mapper

在使用MVC的时候,我们经常用到Newtonsoft.Json来进行实体和JSON 之间的转换,但是有时候,有些实体Newtonsoft.Json转换会出现异常。YeaJur.Mapper正是为了解决这些问题而来,并比Newtonsoft.Json轻量,转换速度快,使用简洁,测试结果如下


PK项


YeaJur.Mapper


Newtonsoft.Json


版本


1.0


9.0.1


大小


6KB


514KB


实例(json格式)


[

{

"Products": [

{

"Id": "7ef9516e-e019-4b54-9636-89fc56b2906f",

"Name": "YeaJur.Mapper",

"Count": 32,

"CreateTime": "/Date(1484796223405)/",

"Price": 12.32,

"SupplierInfo": {

"Id": "00293c28-b29a-4e2c-b5a2-6411d8a67d9e",

"Name": "YeaJur.Mapper",

"Other": null

}

},

{

"Id": "42f8157a-0f25-472b-9b15-15bc876abeff",

"Name": "YeaJur.Mapper",

"Count": 32,

"CreateTime": "/Date(1484796223406)/",

"Price": 12.32,

"SupplierInfo": {

"Id": "24e5b9af-5108-462b-924f-b79bf9c1b160",

"Name": "YeaJur.Mapper",

"Other": null

}

},

{

"Id": "70a3414b-2c76-4417-a47c-4b807301f0f5",

"Name": "YeaJur.Mapper",

"Count": 32,

"CreateTime": "/Date(1484796223406)/",

"Price": 12.32,

"SupplierInfo": {

"Id": "1990168f-244d-42b8-8276-7ee08e0829a0",

"Name": "YeaJur.Mapper",

"Other": null

}

}

],

"SellerInfo": {

"Id": "31875b3f-970d-4383-9d2f-b769c3e7cc87",

"Name": "YeaJur.Mapper",

"Remark": "YeaJur.Mapper"

}

},

{

"Products": [

{

"Id": "cd78b31d-0e83-4586-a202-f45349eabe98",

"Name": "YeaJur.Mapper",

"Count": 32,

"CreateTime": "/Date(1484796223406)/",

"Price": 12.32,

"SupplierInfo": {

"Id": "e4ade655-22e3-4850-96dc-02f7059479b8",

"Name": "YeaJur.Mapper",

"Other": null

}

},

{

"Id": "20d2219b-d520-4c58-840e-c11b10e8878f",

"Name": "YeaJur.Mapper",

"Count": 32,

"CreateTime": "/Date(1484796223406)/",

"Price": 12.32,

"SupplierInfo": {

"Id": "3817b018-369a-4413-b0df-cde5a877d0d7",

"Name": "YeaJur.Mapper",

"Other": null

}

},

{

"Id": "b83d5db6-1216-4a56-a448-d5c478a30b32",

"Name": "YeaJur.Mapper",

"Count": 32,

"CreateTime": "/Date(1484796223406)/",

"Price": 12.32,

"SupplierInfo": {

"Id": "321b2dad-7d66-42d0-b75d-c019cd297a1b",

"Name": "YeaJur.Mapper",

"Other": null

}

}

],

"SellerInfo": {

"Id": "c7e7f104-3484-4640-9003-ad6ddd5cb3dc",

"Name": "YeaJur.Mapper",

"Remark": "YeaJur.Mapper"

}

},

{

"Products": [

{

"Id": "1d8c2158-008c-4ad1-8803-915a5e32c695",

"Name": "YeaJur.Mapper",

"Count": 32,

"CreateTime": "/Date(1484796223406)/",

"Price": 12.32,

"SupplierInfo": {

"Id": "58c89199-c1fc-4c94-8d74-3ee3db5f074b",

"Name": "YeaJur.Mapper",

"Other": null

}

},

{

"Id": "311ca89e-be6c-4bcf-8730-12abb1388319",

"Name": "YeaJur.Mapper",

"Count": 32,

"CreateTime": "/Date(1484796223406)/",

"Price": 12.32,

"SupplierInfo": {

"Id": "87f3c2ce-d6bd-4cfb-bcf0-9a48615b223c",

"Name": "YeaJur.Mapper",

"Other": null

}

},

{

"Id": "5d23505c-206a-4bdc-9086-92532fcf37d7",

"Name": "YeaJur.Mapper",

"Count": 32,

"CreateTime": "/Date(1484796223406)/",

"Price": 12.32,

"SupplierInfo": {

"Id": "e5582774-ca39-43e0-8e78-9511ea96061b",

"Name": "YeaJur.Mapper",

"Other": null

}

}

],

"SellerInfo": {

"Id": "9f1b4e00-bf00-4946-8e8a-a2780c118079",

"Name": "YeaJur.Mapper",

"Remark": "YeaJur.Mapper"

}

}

]


实体转JSON——写法


var json = model.ToJson();


var json = JsonConvert.SerializeObject(model);


实体转JSON——运行结果样例



实体转JSON——运行平均速度


9.4ms(包括创建实体时间)


151.8ms(包括创建实体时间)


JSON转实体——写法


var model = json.ToModel<List<Order>>();


var model = JsonConvert.DeserializeObject<List<Order>>(json);


JSON转实体——运行结果样例



JSON转实体——运行平均速度


15.2ms


167.8ms

在项目的nuget中搜索  Yeajur.Mapper 即可下载使用

https://www.nuget.org/packages/YeaJur.Mapper

时间: 2024-10-20 04:37:55

比Newtonsoft.Json轻量快速简洁的实体JSON转换库YeaJur.Mapper的相关文章

2016年31款轻量高效的开源JavaScript插件和库

目前有很多网站设计师和开发者喜欢使用由JavaScript开发的插件和库,但同时面临一个苦恼的问题:它们中的大多数实在是太累赘而且常常降低网站的性能.其实,其中也有不少轻量级的插件和库,它们不仅轻巧有用,而且不会影响网站的性能.本文就为大家整理了2016年以来30多款轻量级Javascript插件和库的列表,这些工具服务于特定的目标,并且它们能够非常有效和高效地实现目标. 不管你想创建一个图片库.一个滑动效果,个性化菜单还是其他接口元素,你都可以用这些插件和库轻易的实现.同时,你还可以使用这些插

Bourbon – 简单、轻量的 Sass 混入库

Bourbon 是一个简单易用的 Sass 混入(Mixin)库,无需配置.该混入包含用于支持所有现代浏览器的 CSS3 属性前缀.前缀需要确保在旧的浏览器支持优雅降级.Bourbon 使用 SCSS 语法. 您可能感兴趣的相关文章 真是好东西!13种非常动感的页面加载动画效果 你见过吗?9款超炫的复选框(Checkbox)效果 超赞!基于 Bootstrap 的响应式的后台管理模板 太赞了!超炫的页面切换动画效果[附源码下载] 创意无限!一组网页边栏过渡动画[附源码下载] 立即下载      

Skippr – 轻量、快速的 jQuery 幻灯片插件

Skippr 是一个超级简单的 jQuery 幻灯片插件.只是包括你的网页中引入 jquery.skippr.css 和 jquery.skippr.js 文件就能使用了.Skippr 能够自适应窗口宽度,而且导航是独特的条形导航. 您可能感兴趣的相关文章 太赞了!超炫的页面切换动画效果[附源码下载] 创意无限!一组网页边栏过渡动画[附源码下载] 好东西!动感的页面加载动画效果[附源码下载] 使用 CSS3 实现3D图片滑块效果[附源码下载] 时尚设计!三种奇特网格加载效果[附源码下载] 源码下

一种简单,轻量,灵活的C#对象转Json对象的方案

简单,是因为只有一个类 轻量,是因为整个类代码只有300行 灵活,是因为扩展方式只需要继承重写某个方法即可 首先我将这个类称之为JsonBuilder,我希望它以StringBuilder的方式来实现Json字符串的转换 public class JsonBuilder { protected StringBuilder Buff = new StringBuilder(4096);//字符缓冲区 public string ToJsonString(object obj) { .......

开源 , KoobooJson一款高性能且轻量的JSON框架

KoobooJson - 更小更快的C# JSON序列化工具(基于表达式树构建) 在C#领域,有很多成熟的开源JSON框架,其中最著名且使用最多的是 Newtonsoft.Json ,然而因为版本迭代,其代码要兼容从net2.0到现在的最新的net框架,并且要支持.net平台下的其它语言,所以最新发布版本的Newtonsoft.Json其dll大小接近700k,另一方面,因为其复杂的迭代历史导致它的代码为了维护向下扩展性和向上兼容性而舍弃一些性能. 如果你不太在乎体积和性能的话,那么 Newto

Just 5分钟!使用k3s部署轻量Kubernetes集群快速教程

大小仅有40MB的k3s为想要节省开销进行开发和测试的企业提供了一个很好的选择.本文将用一种极为简洁的方式,教你在5分钟之内使用k3s部署轻量Kubernetes集群. 本文来自:Rancher Labs Kubernetes已经改变了如何大规模部署和管理容器化工作负载.现在开发人员面临的挑战主要在于设置过程的复杂性和资源需求量巨大.如果你深受内存不足的困扰,想要部署轻量级Kubernetes集群来减少内存占用,那么你一定要考虑由Rancher Labs发布的轻量级Kubernetes发行版--

五款轻量型bug管理工具横向测评

最近正在使用的本地bug管理软件又出问题了,已经记不清这是第几次了,每次出现问题都要耗费大量的时间精力去网上寻找解决方案,劳心劳力.为了避免再次出现这样的情况,我决定从线下转到线上,使用轻量型的在线bug管理工具,在选择工具时有以下几个要求: 1.不用在本地安装部署,配置环境,即开即用: 2.方便bug管理,bug属性设置: 3.可以跨团队沟通,方便和开发协作: 4.随时掌握bug状态,修复进展等. 花费了一个星期的时间试用了五款在线bug管理工具,其评测结果如下: 1.   Teambitio

编写轻量ajax组件01-对比webform平台上的各种实现方式

前言 Asp.net WebForm 和 Asp.net MVC(简称MVC) 都是基于Asp.net的web开发框架,两者有很大的区别,其中一个就是MVC更加注重http本质,而WebForm试图屏蔽http,为此提供了大量的服务器控件和ViewState机制,让开发人员可以像开发Windows Form应用程序一样,基于事件模型去编程.两者各有优缺点和适用情景,但MVC现在是许多Asp.net开发者的首选. WebForm是建立在Asp.net的基础上的,Asp.net提供了足够的扩展性,我

轻量的web框架Bottle

简洁的web框架Bottle 简介 Bottle是一个非常简洁,轻量web框架,与django形成鲜明的对比,它只由一个单文件组成,文件总共只有3700多行代码,依赖只有python标准库.但是麻雀虽小五脏俱全,基本的功能都有实现,很适合做一些小的web应用 开始使用 首先使用pip install bottle安装然后是一个官方文档中的例子: from bottle import route, run @route('/hello') def hello(): return "Hello Wo