什么是json?为什么要使用jsontaglib来处理json数据?

大家好,我是IT修真院深圳分院第5期学员,一枚正直善良的JAVA程序员。

今天给大家分享一下,修真院官网JAVA任务2中,什么是json?为什么要使用jsontaglib来处理json数据?



一、背景介绍

什么是json

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,因为其高性能、可读性强的原因,成为了现阶段web开发中前后端交互数据的主要数据格式,目前我们在做任务和复盘项目的时候都是使用json-taglib标签实现从Java的各种对象到json的转换

json-taglib是在2007年2月份发布的,最后一次更新发生在2008年1月,之所以很久没有发布更新,个人认为是因为两点。第一:这个自定义标签的技术已经趋于成熟,没有什么继续优化的必要了 第二:随着前后端分离,jsp已经开始慢慢淡出后端开发


为什么我们要使用json-taglib来转换并获取json数据呢?

和其它的json转换方式相比:

1、使用简单

2、转换处理灵活

3、代码可读性高



二、知识剖析

我们要如何使用json-taglib标签呢?

1、去官网下载jar包并添加到本地maven仓库中,maven仓库中心没有jar包

2、新建jsp页面,在里面就可以利用标签获取json格式的数据

3、标签只需要简单的三个:json:object(json对象)、json:array(json数组)、json:property(json对象中的属性) 。 使用这三个标签的嵌套就可以做出各式各样我们所需要的json数据,完全可以满足我们的开发需求。



三、常见问题

   1、 据我在网上查找教程显示的结果上看,使用json-taglib标签并不算是现在后端开发当中最主流的转换json格式的方式,那么除了这种方式,还有什么方式可以转换json数据并达到前后端交互的目的呢?几种方式到底有什么区别,以上说的json-taglib的优点是怎么体现的呢?和其它的几种方式比起来又有哪些值得改进的地方呢?


    2、既然也有很多后端开发者使用第二种方式来进行json数据的转换,那相对于json-taglib,这种方式的优点是什么?

优点:使用@ResponseBody的性能更优于json-taglib



4.解决方案

通过@responseBody注解的方式

如果在控制器的方法上标注这个注解,那么该方法返回的对象不会经过视图解析器的渲染,而是根据HTTP Request Header的内容,由前端小伙伴设置指定转换的格式,不设置的话默认请求的就是json格式,在请求到json之后,将json写入Response的Body数据区域中。

Jmeter测试性能



五、编码实战



六、扩展思考

有没有办法在注解方式下传递json格式的时候简单的完成对象属性的过滤?

1、在需要屏蔽的属性上加@jsonignore

2、json字段过滤器

七、参考文献

1.CSDN博客:https://blog.csdn.net/chivalrousli/article/details/50827735

2.张鑫师兄的PPT

八、更多讨论

Q1、使用@ResponsBody忽略属性前 后,性能会产生变化么?

答:影响微乎其微

Q2、导致性能差异的原因?

答:基于注解的json不经过视图解析层

Q3、jsontaglib可以单纯用jsp编写嘛

答:可以

今天的分享就到这里啦,欢迎大家提问和探讨!

小课堂视频

PPT:PPT

感谢大家观看

今天的分享就到这里啦,欢迎大家点赞、转发、留言、拍砖~

技能树.IT修真院

“我们相信人人都可以成为一个工程师,现在开始,找个师兄,带你入门,掌控自己学习的节奏,学习的路上不再迷茫”。

这里是技能树.IT修真院,成千上万的师兄在这里找到了自己的学习路线,学习透明化,成长可见化,师兄1对1免费指导。快来与我一起学习吧~

作者:东

链接:https://www.jianshu.com/p/476e30f99e2a

來源:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

你可能感兴趣的:(什么是json?为什么要使用jsontaglib来处理json数据?)