json可以代替xml,为什么网页不用json格式来写呢?

1

之前的程序之间的通讯的数据载体是xml。后来在很多地方json替代了xml。主要有:

1.json格式简单,轻量,不需要前后的标签,减少数据传输的宽带。

2.js天然支持解析json,xml前后端都需要额外的解析一次。

3.json传输支持更多的类型,比如:字符串,数组,布尔值。而xml解析出来都是字符串。

而网页不用json来写,因为html是xml一个变式,html和css,js技术已非常成熟,各大浏览器都支持。不太可能让合浏览器厂商在改变规则,开发对json的支持。

2

感约,首先要搞明白 Json 和 XML 的区别和应用场景,存在即合理,就好比有这么多开发语言 ,各种有种的好,但是想去替换是不太可能的,以下是我针对这个问题的看法,欢迎大家一起来探讨:


首先了解下什么是 JSON 和 XML?

Json 是一种轻量级的 数据交换格式 ,Douglas Crockford(Web开发领域最知名的技术权威之一,他是JSON、JSLint、JSMin和ADSafe的创造者)在2001年开始推广Json,直到2005年~2006年,雅虎和谷歌就开始广泛的进行使用此格式,因此很快正式成为了主流的数据格式。


3

看了很多评论,大部分都在胡扯,还有说xml和json事编程语言的?网页为什么用xml来写,首先我也觉得大部分是因为xml历史悠久,json是后来居上,如果你想用json来写网页完全可以,不过要所有浏览器厂商基于json重新衍生出一套标准,就好比html从xml衍生出来,说白了就是指定规则,并且目前更好办,html已经成熟,只需要做json映射就行,说白了不管是html还是json最终目的是内存中的一个树状结构,把现在的浏览器对于解析html部分改成解析json理论上就可以实现,但是json在表达能力上不如html

4

网页当然可以用JSON格式来写啊!

但是,标准已经存在了。HTML的出现远在JSON之前,JSON可以说是HTML的孙辈了。

这就是所谓的“先发优势”。既然HTML已经能很好的完成工作了,为什么要改成JSON呢?对于网页本身,改用JSON能不能带来好处且不说,即使能带来好处,也是微乎其微的。

我们能看出,最新的浏览器仍然能渲染古老的HTML3.2,甚至更早期的网页;新式纯HTML网页,也能在古老的浏览器中展示出大概内容。那么,大幅度改变这一标准,造成两种标准不兼容,或者推动一套不兼容的平行标准,必然需要付出巨大的代价。从浏览器渲染引擎开始,到开发工具、编辑器等等,工作量巨大,远不止苹果当年弄出一个Webkit那么简单。那么,由谁来推动,由谁来承担改变这一标准所付出的代价呢,或者说,谁来完成这个++++版的Webkit并推广它呢?

不仅是网页,就连Office的XML文档格式都很难改变。Office以及仿Office的ODT文档都是XML格式,又有谁用JSON来记录文档呢?

5

原先以为是现有的xml,然后才派生出来的html。

后来查了下资料才发现,我错了。

先有的html,然后才根据html的特点,或者是为了弥补html的不足,才设计了xml。

xml设计的目的是为了描述数据。

传递过来一份数据,不需要看文档,就知道是啥意思。

6

一个是一门完整的语言,一个是一种数据格式

7

这已经够多了,本来不想掺和了,不过发现很多人对XML、HTML和json的理解有些问题,甚至对XML和HTML是不是语言都在争论,于是咱们也掺和一下。

针对题主的问题,可以分为两个问题:

1、为什么要用json代替XML传输数据;

2、网页能不能用json来写。

下面我们先明确下XML、HTML和JSON的概念。

8

json为什么火,没搞懂,说可读性,可理解性,约束性,似乎xml更上乘;说到网络传输节省带宽又有扩展性,似乎tlv结构更加节省,还支持原生二进制。思来想去,只可能是被web前端带火的,js脚本语言天生就不是操作二进制的,前后端取个平衡,得,json火了。

9

任何一门标记语言,或者叫描述语言,只要有两个结构就是相互等价的。第一,要有键值对;第二,值可以是嵌套的子结构。有了这两点就可以描述所有了,没有谁比谁更强大,无非是写起来方便与否的问题。比如没有数据类型,可以使用子节点的一个字段来描述“type”:“number”。没有属性,可以转化成子节点的键。没有数组,可以转化成以0、1、2为键的字段。

10

这是两套单独的技术体系,不可相提并论、混为一谈

Xml、Json:

XML(可扩展标记语言):标记就是类似于HTML标签的编写方式,可扩展是完全自定义化,不需要官方提供任何固有的标签结构,其作用为描述、传输和存储数据。

Json(JavaScript Object Notation, JS 对象简谱):是一种轻量级的数据交换格式。它是ECMAScript规范的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。

关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章