这个问题,更详细提问应该是是:数据跪请为什么要直接返回json数据,特别是前端与后端的交互,java只是各大编程语言的一种,现在不管用什么编号语言,大部分后端与前端基本都是实际json数据通过交互。
json是什么?
昨天分享了《springboot返回json数据,一分钟搞定!》,好些人对json还没有一个清晰的不认识,今天栈长带大家来见过看看什么是json。
有一种就是json(javascriptobjectnotation)的轻量级数据交换格式能够松蜡xml的工作。它那就是json。
数据格式比较简单啊,易于读写,格式全是压解的,占用带宽小,易于题这种语言。
客户端javascript是可以最简单()并且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项目的前后端交互操作也可以接口,配置文件,文件存储等等都可以啦。目前移动端比较比较火,一般的项目都会用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、你造吗?
啊,谢谢请帖!
另外一名it行业的从业者,同时又是一名大数据、机器学习方向的研究生导师,我来解释一下这个问题。
导致软件开发不属于到的知识结构也很丰富地,因为自学软件开发大多需要一个系统的学习过程。如果不是未来要想专业从事软件开发工作,那就可以听从以上步骤学习软件开发技术:
第一:从计算机操作系统正在学起。在学软件开发技术之前,是需要应该要去学习看看操作系统知识,操作系统知识除开操作系统体系结构、资源管理、任务调度等内容,在初步了解操作系统知识之后,也能对计算机先执行各种计算任务有一个大致了解的认识,这这对后续的学习会作用有限重要的是的作用。
第二:选择类型怎么学习一门全场景编程语言。对于初学者来说,在编程语言的选择上建议选择类型一门“全场景编程语言”,目前java、python和c#都是比较好的选择,学习全场景编程语言的好处是未来是可以向各个领域发展。如果从就业的角度出发,当前学习java是还好的选择,如果不是从发展前景的角度出发到达,python是确实不错的选择。
第三:在去学习编程语言的过程中补学相关知识。以自学java为例,如果选择web开发的学习方向,可以不在一边自学java的同时补学网络通信、数据库、算法设计和数据结构等方面的知识,这些知识对此程序员后续的发展都会有非常重要的帮助,必须得认真地对待。至于,在当前的云计算时代,在软件防御部署的时候也会所接触到云计算知识。
之后,学习软件编程技术一定得看重实验、系统的总结和打交道,在去学习完基础的编程语法之后,好是能够找一个实习岗位锻练下。
我从事互联网行业多年来,目前也在带计算机专业的研究生,主要注意的研究方向集中在一起在大数据和人工智能领域,我会先后写一些关与互联网技术方面的文章,比较感兴趣朋友是可以关注我,相信一定会会收获不小。
如果不是有互联网、大数据、人工智能等方面的问题,或是是考研方面的问题,都这个可以在评论区留个言!