首页 > 常见问答

java中返回值和无返回值区别 JAVA为什么要返回JSON数据?

java为什么要返回json数据?

这个问题,更准确提问应该是:数据请求为什么要返回json数据,特别是前端与后端的交互,java只是众多编程语言的一种,现在不管用什么编号语言,大部分后端与前端基本是通过json数据进行交互。

json是什么?

前几天分享了《springboot返回json数据,一分钟搞定!》,好些人对json还没有一个清晰的认识,今天栈长带大家来认识一下什么是json。

java中返回值和无返回值区别 JAVA为什么要返回JSON数据?

有一种叫做json(javascriptobjectnotation)的轻量级数据交换格式能够替代xml的工作。它就是json。

数据格式比较简单,易于读写,格式都是压缩的,占用带宽小,易于解析这种语言。

客户端javascript可以简单的通过eval()进行json数据的读取,包括actionscript,c,c#,coldfusion,java,javascript,perl,php,python,ruby等语言服务器端语言,便于服务器端的解析。

各语言对json支持的特别好,自从ajax的流行,json格式传输就更流行了。json常被用作序列化,推荐阅读:关于java序列化你应该知道的一切。

如果到这里你还不明白?

json是什么,那么我就发大招了!

其实我在为公司面试的时候,我经常有提到,假如我不知道json是个什么玩意?你怎么告诉我,让我知道是个什么东西。(下面都是我的个人理解,因理解因人而异,受用即可!)

问了这么多人,其实结果不是我想要的,大多数的答案有这些。

它是前端和后台交互用的。它是键值对的。

以上2点比较多。还有一些乱七八糟的完全偏离了json。那么它应该是怎样的?应该这么回答,个人认为!

首先,它只是一个字符串,它只是一个有规则的字符串。(重点)然后它的表达(表现)形式是键值对的。其实非常类似java语言里的map,objective-c里的字典,其他语言都有对应的,我说实话其他语言我不知道!

我为什么用mapstring泛型,因为理论上它的键值对应该都是字符串,why?这个问题问的好,我可以这么回答你,因为它本身就是字符串。

上面说的理论上表达,那么实际目前我们用到的键值对支持什么呢?可以支持string、number、array以及boolean、null什么的。

它的作用是用来交互的,不一定web项目的前后端交互也可以接口,配置文件,文件存储等等都ok。目前移动端比较火,一般的项目都会用json来传输。

它能带来什么?

简洁、简单、体积小等。

上手容易,高效。

跨语言,目前移动端android、ios一般项目构造都是其他语言提供接口(json),移动端读取接口的开发。….

它和xml对比?

可读性

看了网上的各种帖子,有说可读性相当,不过基本是说xml可读性好,我认为还凑合。可以打平手。

可扩展性

有人说,“xml天生有很好的扩展性,json当然也有,没有什么是xml能扩展,json不能的。

不过json在javascript主场作战,可以存储javascript复合对象,有着xml不可比拟的优势”。我赞同一半,我觉得这些帖子都是老帖子,xml可以灵活扩展是因为各种语言有支持的其他jar包,类库等。

但自从json火起来后,json的支持包,类库等,相信每个语言都很多。像java就有jackson、goson、json-lib、fastjson等等多的去了。

编码难度

xml有有dom,sax,stax等解析技术,json也有我上面说的那些,都ok。

解码难度

同上。

解码编码效率

呵呵!解析xml有专用cpu、你造吗?

json语言xmljava键值

原文标题:java中返回值和无返回值区别 JAVA为什么要返回JSON数据?,如若转载,请注明出处:https://www.shcrbfchs.com/shc3/986.html
免责声明:此资讯系转载自合作媒体或互联网其它网站,「泰福润金」登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,文章内容仅供参考。