哈喽大家好,今儿是元宵节。不知道多年后回来看,发现今天是元宵节会不会有感慨?
Emmmm~ 估计是会把这段删掉吧
老规矩,今天来说一个封装Json转换的方法,从而变得更好用。
Json我们都很熟悉,尤其在现在的前后端分离,友好交互中更是被大量使用。
什么?你说还有XML,拖出去斩了,今天我们说的是Json
正常的Json转换我们都很熟悉,但还是先来看一下。
使用的时候需要写冗长一段,有点麻烦。
如果只是单独写一两个可能还好,如果在项目中大量的被使用就写很麻烦。
可能你在想?为什么会觉得麻烦?
哈?我们程序员都“懒”嘛!!!
那么先来看下改造后的效果,和改造前有什么不同!!
IList<Test> lt = new List<Test> { new Test { Name = "王月半子", Age = 20, Hometown = "北京" }, new Test { Name = "李月半子", Age = 25, Hometown = "北京" }, new Test { Name = "张月半子", Age = 21, Hometown = "北京" }, }; //==========================Before====================== string json = JsonConvert.SerializeObject(lt); IList<Test> afterConvert = JsonConvert.DeserializeObject<IList<Test>>(json); //==========================After====================== string aJson = lt.ToJson(); IList<Test> tt = aJson.ToObj<IList<Test>>();
哎嘿,这样是不是就清爽很多了。
然后我们就来看下怎么实现的吧,其实 很简单
static class JsonHelper { public static string ToJson(this object obj) { if (obj == null) { throw new ArgumentException("传入obj为空,无法继续处理请求返回!"); } return JsonConvert.SerializeObject(obj); } public static T ToObj<T>(this string json) { if (string.IsNullOrEmpty(json)) { throw new ArgumentException("传入Json为空,无法继续处理请求返回!"); } return JsonConvert.DeserializeObject<T>(json); } }
嗯,我把他做成了一个扩展方法。然后勒,底层还是拿人家轮子在调用啦。啊哈哈哈。
不过这样也写的爽了很多。
代码已上交,
不说了。溜