json可以代替xml,為啥網頁不用json格式來寫呢?

DearJackal


json可以代替xml部分功能,但並不能完全替代。能替代的功能是數據描述,不能替代的是結構描述。關於這一點,我詳細說明一下。

首先請了解一下前端開發或叫網頁開發的內容,包括四部分:

1、結構,即Html,或xml

2、樣式,即Css

3、形為,Javascript

4、數據,xml或json

結構、樣式、形為、數據的概念,大約在2003左右吧(具時間不記得了,反正十幾年前),ECMA就已經提出了。ECMA全稱是中文名稱為歐洲計算機制造商協會,主要是提供一些計算機規範。不過當時的瀏覽器還是IE的天下,微軟牛逼丫根兒不聽他們的。

之後十幾年不斷髮展、完善過程,形成比較成熟的開發思路。

一、先說結構與樣式。

即,採用html描述網頁結構,樣式由css處理,之前Html還有一些屬性例如width,height,等,後來都被棄用,採用css的width或height來設置寬度。這就是結構與樣式的分離。由於Html是基於xml為基礎的,網頁也可以用xml描述結構,例如你自定義一個節點叫weishakeji,css照顧可以給它賦樣式,完全和html一樣。

二、再說結構與形為。

用Html或xml描述的網頁元素,它如何響應鼠標事件或用戶操作呢?這是由Javascript來控制的,雖然我們也可以在Html元素中直接寫Js,例如

但這樣混在一起不好閱讀代碼,一般會分離到單獨的js文件中。

三、再說結構與數據。

用Html或xml描述網頁結構,然後顯示具體的內容時,這些內容可以用XML存放,也可 以用Json存放。如果用xml存放,是可以直接用於網頁顯示的,前面說了,xml直接用於網頁結構描述,css渲染效果。但是它既表示結構,又表示數據,不方便。當然也可以用XSL語言解析xml數據顯示到html中,XSL 指擴展樣式表語言(EXtensible Stylesheet Language)。但是XSL解析效率比較低,語法不友好,難以閱讀,最終沒有流行起來。不過很多瀏覽器都支持,想用也可以。

四、Json與xml

Json是一個單純的數據源,它不能描述網頁結構,這是它不能用來做網頁的重要原因,如果真的用它描述網頁,並不方便,反而會變得繁雜。例如:

內容

如果用Json呢,如果描述上述節點的屬性和內容?還是用Html描述更方便。

Json作為數據源,它的執行效率更高,但它必須依賴於Javascript,因為它本身就是一個Javascript對象,它不是獨立的,它是js!

-----

所以,正常的開發思路是,Html描述網頁結構,CSS渲染頁面效果,Javascript提供交互形為,並讀取和解析Json數據,顯示到Html所描述的某個節點上。

每個都有自己的特點和專長,可以混用,但不可替代。


學習考試系統


json為什麼火,沒搞懂,說可讀性,可理解性,約束性,似乎xml更上乘;說到網絡傳輸節省帶寬又有擴展性,似乎tlv結構更加節省,還支持原生二進制。思來想去,只可能是被web前端帶火的,js腳本語言天生就不是操作二進制的,前後端取個平衡,得,json火了。


玉樹清風


json就一個簡單的鍵值對信息,連做配置文件資格都不夠,還取代xml?樓主新手一枚,要學習的還很多。


風yuanwen


我們公司前端自己寫的框架,頁面就是用json做的。json上配置指定函數名,然後用angular在js裡寫邏輯。json頁面可以根據數據庫生成,要配什麼查詢條件的話在json裡配置。我也是第一次見這種一臉懵逼


吳雨吳球


json肯定是可以替代HTML的,但是,你得先讓w3c推動一下,讓合瀏覽器引擎大佬做json解析和渲染器!


tracky2002


json和XML是返回值,HTML是前端樣式,功能都不一樣。


Jimmy塔塔


HTML是表示頁面結構,而json是數據結構,json對頁面結構沒法表示,也沒法結合css


非IT專業的編程棧


1.json是作為序列化傳輸對象使用,較弱,不適合做描述性強的事,適合傳輸數據交換

2.xml是一種表述性語言,結構性強,適合描述事實,不適合傳輸交換

3.有html的時候沒json呢


kid7157887


前提就是錯誤的,json 不能代替XML. 所以網頁不能用json來寫


LOEUGENE239195143


一個是數據交換格式,一個是界面顯示


分享到:


相關文章: