黑豹程序员-架构师学习路线图-百科:JSON替代XML

这篇具有很好参考价值的文章主要介绍了黑豹程序员-架构师学习路线图-百科:JSON替代XML。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、数据交换之王

  1. 最早多个软件之间使用txt进行信息交互,缺点:纯文本,无法了解其结构;
  2. 之后使用信令,如:电话的信令(拨号、接听、通话、挂断)、国际物流的EDI报文 (Electronic Data Interchange) 电子数据交换,缺点:专有格式晦涩难懂,需要查询手册才能了解其含义;
  3. XML 扩展标记语言,XSD进行描述其作用,结构层次一目了然,标记易读,缺点:标记太多,结构复杂,标签占用大量空间,甚至超过了数据的量,造成传输负担加重,一半是传输的数据,一半多传输的是这些标签;
  4. 最后就是JSON,其本质是简化了XML。其结构简单一看就懂,层次明显,没有标签传输量小非常多;

JSON作为目前Web主流的数据交换格式,是每个IT技术人员都必须要了解的一种数据交换格式。尤其是在Ajax和REST技术的大行其道的当今,JSON无疑成为了数据交换格式的首选!

黑豹程序员-架构师学习路线图-百科:JSON替代XML,黑豹程序员,front-end 大前端,学习,json,xml

2、XML的起源

早期Web发展和负载的数据量并不是很大,所以基本靠HTML(1989诞生)可以解决。但是随着Web应用的不断壮大,HTML的一些缺点也慢慢显现,如:可读性差、解析时间长、数据描述性差等。
1998年2月10日,W3C(World WideⅥiebConsortium,万维网联盟)公布XML 1.0标准,XML诞生了。

XML使用一个简单而又灵活的标准格式,为基于Web的应用提供了一个描述数据和交换数据的有效手段。

但是,XML并非是用来取代HTML的。HTML着重如何描述将文件显示在浏览器中,它着重描述如何将数据以结构化方式表示。
XML简单易于在任何应用程序中读/写数据,这使XML很快成为数据交换的唯一公共语言,所以XML被广泛应用。

注意:XML是一种数据交换的格式,并不是编程语言。而且他是跨语言的数据格式,绝大多数编程语言均支持XML。

虽然XML标准本身简单,但与XML相关的标准却种类繁多,W3C制定的相关标准就有二十多个,采用XML制定的重要的电子商务标准就有十多个。这给软件开发工程师带来了极大的麻烦!

随着Ajax(前身叫XMLHTTP,2005年后改名Ajax(Asynchronous Javascript And XML异步JavaScript和XML))技术的流行,XML的弊端也越来越显现:大家都知道XML实现是基于DOM树实现的,而DOM在各种浏览器中的实现细节不尽相同,所以XML的跨浏览器兼容性并不好,所以急需一种新的数据负载格式集成到HTML页面中以满足Ajax的要求!

3、JSON诞生

前面我们说了随着Ajax的流行,而各种浏览器对DOM的实现细节不尽相同,所以会出现兼容性问题,这对前端开发同学来讲真的是灾难。因为一个功能可能需要用代码去兼容各种不同的浏览器,还要调试,工作量巨大。

如何才能将数据整合到HTML中又解决浏览器兼容性问题呢?
答案就是:利用所有主流浏览器中的一种通用组件——JavaScript引擎。这样只要创造一种JavaScript引擎能识别的数据格式就可以啦!

2001 年 4 月,首个 JSON 格式的消息被发送出来。此消息是从旧金山湾区某车库的一台计算机发出的,这是计算机历史上重要的的时刻。道格拉斯·克罗克福特(Douglas Crockford) 和 奇普·莫宁斯达(Chip Morningstar) 是一家名为 State Software 的技术咨询公司的联合创始人(后来都在雅虎任职),他们当时聚集在 Morningstar 的车库里测试某个想法,发出了此消息。

document.domain = 'fudco';
parent.session.receive(
	{ to: "session", do: "test", text: "Hello world" }
)

熟悉js的同学是不是也很惊讶,第一个 JSON 消息它明显就是 JavaScript!实际上,Crockford 自己也说过他不是第一个这样做的人。网景(Netscape )公司的某人早在 1996 年就使用 JavaScript 数组字面量来交换信息。因为消息就是 JavaScript,其不需要任何特殊解析工作,JavaScript 解释器就可搞定一切。

最初的 JSON 信息实际上与 JavaScript 解释器发生了冲突。JavaScript 保留了大量的关键字(ECMAScript 6 版本就有 64 个保留字),Crockford 和 Morningstar 无意中在其 JSON 中使用了一个保留字:do。因为 JavaScript 使用的保留字太多了,所以Crockford决定:既然不可避免的要使用到这些保留字,那就要求所有的 JSON 键名都加上引号。被引起来的键名会被 JavaScript 解释器识别成字符串。这就为什么今天 JSON 键名都要用引号引起来的原因。

{
	"person": {
		"name": "pig",
		"age": "18",
		"sex": "man",
		"hometown": {
			"province": "江西省",
			"city": "抚州市",
			"county": "崇仁县"
		}
	}
}

2005 年,JSON 有了一次大爆发。那一年,一位名叫 Jesse James Garrett 的网页设计师和开发者在博客文章中创造了 “AJAX” 一词。
他很谨慎地强调:AJAX 并不是新技术,而是 “好几种蓬勃发展的技术以某种强大的新方式汇集在一起。”

AJAX 是 Garrett 给这种正受到青睐的 Web 应用程序的新开发方法的命名。

他的博客文章接着描述了开发人员如何利用 JavaScript 和 XMLHttpRequest 构建新型应用程序,这些应用程序比传统的网页更具响应性和状态性。

4、什么是JSON

黑豹程序员-架构师学习路线图-百科:JSON替代XML,黑豹程序员,front-end 大前端,学习,json,xml

JSON(JavaScript Object Notation, JS对象简谱)是一种轻量级的数据交换格式。
它基于 ECMAScript(European Computer Manufacturers Association, 欧洲计算机协会制定的规范)的一个子集,也就是说JSON实质上是JavaScript的一个子集。

其采用完全独立于编程语言的文本格式来存储和表示数据。
简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。
易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。文章来源地址https://www.toymoban.com/news/detail-727592.html

到了这里,关于黑豹程序员-架构师学习路线图-百科:JSON替代XML的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Android SystemUI源码分析与修改,作为Android程序员应该怎样去规划自己的学习路线

    systemui:keyCode=“4” android:layout_weight=“0” systemui:glowBackground=“@drawable/ic_sysbar_highlight” android:contentDescription=“@string/accessibility_back” / 音量减的布局如下,这里先把Visibility定义为Gone,然后在代码中控制是否显示: com.android.systemui.statusbar.policy.KeyButtonView android:id=“@+id/sub”

    2024年04月15日
    浏览(40)
  • Java程序员转到AI大模型开发的路线

    从Java开发转向AI大模型开发,需要系统地学习和掌握一系列新的技术和算法。以下是一条推荐的学习路线: 数学与统计学基础 : 线性代数:矩阵运算、特征值与特征向量等。 概率论与统计学:概率分布、假设检验、最大似然估计、贝叶斯推断等。 微积分:梯度求解和优化

    2024年03月15日
    浏览(36)
  • 前端程序员的职业发展规划与路线——ChatGPT的回答

    最近,chatGPT很热火,博主也玩了一下~ 确实,它还可以写代码! 问了它几个关于职业发展的问题,与粉丝们分享,请见下文。 截图如下: 下面我就直接复制文字啦!是和它对话中获取到的。可参考: 回答1: 作为一个前端开发程序员,您的职业发展路线可能如下: 建立坚实

    2024年02月01日
    浏览(45)
  • 程序员的8个职业发展路线,你想要的都在这里了!

    昨天的话朋友提问的话 就是关于程序员的职业发展路线 程序员的话 我来定义的 就是用代码来改变世界 但是最害怕的话就是程序员他 活在自我的世界里面 因为面对你去机器去编码 然后时间长了之后 其实你不善于沟通的 那么这一点的话 是程序员的一个最大的一个缺点 那么

    2023年04月21日
    浏览(34)
  • OpenAI CEO Sam Altman都点赞的程序员成长路线和方法

    服务开发者的有效方法,首先是要关注程序员圈子里的热门话题,归纳起来其实开发者最关注的是这三个方面: 一、语言和框架更新: 程序员圈子中经常会讨论各种语言和框架的更新,特别是一些热门语言和框架,如JavaScript、Python、React、Angular等。如果有任何更新或重大更

    2024年02月09日
    浏览(33)
  • C/C++:C/C++在大数据时代的应用,以及C/C++程序员未来的发展路线

    目录 1.C/C++在大数据时代的应用 1.1:C/C++数据处理  1.2:C/C++数据库

    2024年02月11日
    浏览(28)
  • 物联网学习路线图(超详细自学路线)

    嵌入式物联网系统是当前具有发展前景的IT应用领域之一, 嵌入式作为物联网的底层技术体系,不仅助力物联网从各行各业脱颖而出,学习者也越来越多,有本套嵌入式物联网路线,你可从零开始,一步步的掌握物联网开发的各项相关技能,最终达到企业对物联网开发工程师

    2024年02月08日
    浏览(33)
  • 如何才能从程序员到架构师?

    小团队一般 10 人左右,其中常常是技术最牛的人做架构师(或TL)。所以,架构师在广大码农中的占比大概平均不到 10%。而架构师也可以分为初级、中级、高级三档,江湖上真正高水平的软件架构师就更少了。 所以,大部分(超过九成的)码农干上许多年,还是做不了架构

    2024年02月08日
    浏览(31)
  • 一本书揭秘程序员如何培养架构思维!

    在程序员的职业规划中,成为软件架构师是一个非常有吸引力的选择。但是对于如何才能成为一名架构师,不少同学认为只要代码写得好,就能得到公司提拔,晋升为架构师。 还真不是这样的,如果不具备架构思维,即使代码能写到极致,在开展工作时也将不可避免地掉到坑

    2024年04月14日
    浏览(32)
  • 2023版完整版web前端学习路线图(超详细自学路线)

    跟着路线图认真坚持学习从前端小白到大神不是梦,0基础看这一篇足矣! 学们记得加关注点赞收藏,自学路上不迷糊! 零基础小白自学前端路线图速览: 阶段一:核心基础入门 前端计算机常识 ➾ html+css基础 ➾ html+css 项目实践 阶段二:核心技术进阶 JavaScript基础+进阶 ➾

    2023年04月09日
    浏览(78)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包