加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

生成json的几种方式

发布时间:2020-12-14 06:36:39 所属栏目:Java 来源:网络整理
导读:这里是修真院后端小课堂,每篇分享文从 【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】 八个方面深度解析后端知识/技能,本篇分享的是: 【 生成json的几种方式】 【修真院java小课堂】生成json的几种

这里是修真院后端小课堂,每篇分享文从

【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】

八个方面深度解析后端知识/技能,本篇分享的是:

【 生成json的几种方式】

【修真院java小课堂】生成json的几种方式

大家好,我是IT修真院武汉分院第17期的学员王志雄,一枚正直纯洁善良的java程序员,今天给大家分享一下,修真院官网java任务2,深度思考中的知识点——生成json的几种方式

(1)背景介绍:

JSON,全称是 JavaScript Object Notation,即 JavaScript 对象标记法。是一种轻量的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。所以使用json来传递数据可以达到简单,快捷的效果。

(2)知识剖析:

生成JSon几种方式?

生成的JSON字符串是用来做前后端交互的,当前端用ajax请求时,后端就返还一个JSON字符串。

生成JSON的三种方式:

适用json-taglib并在jsp页面来设置字段或嵌套。

同过注解ResponseBody返回Java对象或集合,可以自动转化为JSON字符串。

利用Gson转化。

为什么推荐使用JSONTAGLIB来处理JSON

gson它提供了toJason()方法将对象转换成Json字符串

gson也可以反序列化,提供了fromJson()方法来实现从Json相关对象到Java实体的方法。

在使用@ResponseBody注解的方式时,

?如果在控制器方法上标注该注解,那么方法返回的对象不会经过视图解析器的渲染,而是根据HTTP Request Header的Accept字段的内容,转换为指定的格式,写入到Response对象的body数据区中,如果没有额外的配置,那么就会返回json格式的数据

所以json-taglib的好处就体现出来了:

1.使用json-taglib,在控制器中的代码更加简洁,易读

2.使用json-taglib更加灵活,如果以后需要更改json数据格式,只需要更改jsp页面即可,不需要改动控制器代码

(3)常见问题

?Json运用

读取 JSON 字符串

用 eval() 处理 JSON 字符串

json可以以数组传递,也可以以对象传递,,返回的json格式,是一个数组json,然后里面含有对象,这是json常见的格式。后来经过php的处理,结构又发生了变化,最外层是一个对象了,里面是数组和对象。

在数据传输流程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键。例如:

JSON字符串:

var str1 = '{ "name": "haorooms","sex": "man" }';

JSON对象:

var str2 = { "name": "haorooms","sex": "man" };

在RPC远程调用时,或者提供给外部访问接口,一般数据交互格式通常为JSON

提供移动APP接口

(4)编码实战:

(5)拓展思考:

json和xml的区别

XML的优点

A.格式统一,符合标准;

B.容易与其他系统进行远程交互,数据共享比较方便。

XML的缺点

A.XML文件庞大,文件格式复杂,传输占带宽;

B.服务器端和客户端都需要花费大量代码来解析XML,导致服务器端和客户端代码变得异常复杂且不易维护;

C.客户端不同浏览器之间解析XML的方式不一致,需要重复编写很多代码;

D.服务器端和客户端解析XML花费较多的资源和时间。

json的优缺点

A.数据格式比较简单,易于读写,格式都是压缩的,占用带宽小

B.易于解析,客户端JavaScript可以简单的通过eval()进行JSON数据的读取;

C.支持多种语言,包括ActionScript,C,C#,ColdFusion,Java,JavaScript,Perl,PHP,Python,Ruby等服务器端语言,便于服务器端的解析;

D.在PHP世界,已经有PHP-JSON和JSON-PHP出现了,偏于PHP序列化后的程序直接调用,PHP服务器端的对象、数组等能直接生成JSON格式,便于客户端的访问提取;

E.因为JSON格式能直接为服务器端代码使用,大大简化了服务器端和客户端的代码开发量,且完成任务不变,并且易于维护。

JSON的缺点

A.没有XML格式这么推广的深入人心和喜用广泛,没有XML那么通用性 JSON格式目前在Web Service中推广还属于初级阶段。

(6)参考文献:

?https://blog.csdn.net/android_zhengyongbo/article/details/67634565

(7)更多讨论:

Q1:JSON、XML解析有那些方式

A1:JSON解析方式(阿里巴巴fastjson、谷歌gson,jackJson)?XML解析方式(dom、sax、pul)

Q2: 使用注解reponese 效率为什么比json-taglib 高?

A2: 因为使用注解的方式,直接返回json对象,不用经过视图渲染。而json-taglib的方式最终返回的还是jsp界面,需要经过视图解析器解析。

Q3:使用jQuery如何进行一个JSON调用?

A3:如在一个MVC中,可通过“getEmployee”函数返回employ的JSON对象。

此PPT是在汪天驰的基础上完成的 感谢!

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

PPT链接?视频链接

更多内容,可以加入IT交流群565734203与大家一起讨论交流

这里是技能树·IT修真院:,初学者转行到互联网的聚集地

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读