前端傳遞json格式 json可以代替xml,為什么網(wǎng)頁不用json格式來寫呢?
json可以代替xml,為什么網(wǎng)頁不用json格式來寫呢?以前的程序之間通信的數(shù)據(jù)載體是XML。后來,在許多地方,JSON取代了XML。主要有:1。JSON格式簡單、輕量級(jí),不需要前后標(biāo)注,減少了寬帶
json可以代替xml,為什么網(wǎng)頁不用json格式來寫呢?
以前的程序之間通信的數(shù)據(jù)載體是XML。后來,在許多地方,JSON取代了XML。主要有:
1。JSON格式簡單、輕量級(jí),不需要前后標(biāo)注,減少了寬帶數(shù)據(jù)傳輸。
2. JS自然支持解析JSON,XML的前端和后端需要再次解析。
3. JSON傳輸支持更多類型,比如字符串、數(shù)組、布爾值。XML解析字符串。
網(wǎng)頁不需要用JSON編寫,因?yàn)閔tml是XML的變體。HTML和CSS、JS技術(shù)已經(jīng)非常成熟,所有主流瀏覽器都支持它。瀏覽器供應(yīng)商不太可能改變規(guī)則并開發(fā)對(duì)JSON的支持。
前端接口用x-www-form-urlencoded還是json更合適?
從后端角度:根據(jù)研發(fā)團(tuán)隊(duì)成員的具體情況進(jìn)行選擇
實(shí)踐中,很多人對(duì)JSON標(biāo)準(zhǔn)知之甚少,很難實(shí)現(xiàn)。究其原因,是由于老成員多,研發(fā)人員的技術(shù)水平跟不上。盡管大多數(shù)前端框架都基于JSON,但它們也支持其他幾種格式。
JSON標(biāo)準(zhǔn)可以調(diào)節(jié)前端和后端。以后端為例,JSON和restful風(fēng)格的結(jié)合可以減少很多邏輯判斷。同時(shí),它能很好地定位問題,數(shù)據(jù)的響應(yīng)和接收更規(guī)范,更易于閱讀。
App client,Android,IOS都支持JSON,Android比較好,IOS支持比較弱;記得我在2018年加入一個(gè)團(tuán)隊(duì),里面的IOS工程師就是不懂JSON,幾次都不懂,也不知道怎么在框架里支持。當(dāng)時(shí)我很驚訝虛擬用戶.js
以此類推,默認(rèn)的JSON是首選。
后臺(tái)怎么接受并解析前端ajax傳過來的json?
HTTP協(xié)議中沒有JSON對(duì)象。傳遞給服務(wù)器的所有參數(shù)都是key=value,它們是普通字符。試著寫數(shù)據(jù):“orderjson=”amenu
:怎么做
!即使通過,服務(wù)器也只收到{}括起來的字符串??!一切都是從一根弦開始的!JSON對(duì)象是人工構(gòu)造的
目前主流的網(wǎng)絡(luò)請(qǐng)求都使用JSON作為數(shù)據(jù)交互格式,主要是因?yàn)镴SON有以下優(yōu)點(diǎn):
但是在開發(fā)過程中,如果前端和后端傳輸?shù)腏SON數(shù)據(jù)長且量大,這意味著設(shè)計(jì)工作做得不好,應(yīng)該盡量避免這種數(shù)據(jù)傳輸,但也可以從以下幾個(gè)方面進(jìn)行優(yōu)化:
異步批量加載,構(gòu)建大量數(shù)據(jù)導(dǎo)致前端頁面堵塞;
前端增加了銷毀機(jī)制,可以同時(shí)加載和銷毀;
使用具有高解析和壓縮性能的JSON解析工具;
在skylake processor上,各種解析器解析相同的大量數(shù)據(jù)JSON文件的速度(單位:gbgs)如下: