利用Newtonsoft.Json下的JsonConverter实现自定义的id转name
在我们日常开发中经常遇到A表某字段绑定了B表的id,列表展示的时候一般需要再去查一遍B表id绑定的Name,当数据量大的时候,这样的效率就比较低。下面我们尝试用一种比较优美的方式去这个功能!
文章开篇声明,本人小白,如果错误,请轻喷,如果你跟我抬杠,那就是你对!
1.NuGet添加引用Newtonsoft.Json包。2.添加自定义转换类MyConverter。3.继承Newtonsoft下抽象类JsonConverter。
这个JsonConverter为何物? F12跟踪进去
可以看出该类为一个抽象类,有2个虚属性,3个抽象方法。(注:抽象方法是子类必须实现,virtual子类是自己根据需要选择是否实现)
CanRead : 是否开启自定义反序列化,值为true时,反序列化时会走ReadJson方法,值为false时,不走ReadJson方法,而是默认的反序列化
CanWrite : 是否开启自定义序列化,值为true时,序列化时会走WriteJson方法,值为false时,不走WriteJson方法,而是默认的序列化
ReadJson() : 为反序列方法 (反序列化:将文件/字节流转化为对象的过程)
WriteJson() : 为序列化方法 (序列化:序列化是将对象转换为容易传输的格式的过程,如json格式)