后端返回json數(shù)據(jù)給前端 前端接口用x-www-form-urlencoded還是json更合適?
前端接口用x-www-form-urlencoded還是json更合適?從后端角度:根據(jù)研發(fā)團(tuán)隊(duì)成員的具體情況進(jìn)行選擇實(shí)踐中,很多人對(duì)JSON標(biāo)準(zhǔn)知之甚少,實(shí)現(xiàn)起來(lái)比較困難。究其原因,是由于老成員多,
前端接口用x-www-form-urlencoded還是json更合適?
從后端角度:根據(jù)研發(fā)團(tuán)隊(duì)成員的具體情況進(jìn)行選擇
實(shí)踐中,很多人對(duì)JSON標(biāo)準(zhǔn)知之甚少,實(shí)現(xiàn)起來(lái)比較困難。究其原因,是由于老成員多,研發(fā)人員的技術(shù)水平跟不上。盡管大多數(shù)前端框架都基于JSON,但它們也支持其他幾種格式。
JSON標(biāo)準(zhǔn)可以調(diào)節(jié)前端和后端。以后端為例,JSON和restful風(fēng)格的結(jié)合可以減少很多邏輯判斷。同時(shí),它能很好地定位問(wèn)題,數(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是首選。
如何優(yōu)化很長(zhǎng)的JSON數(shù)據(jù)?
目前主流的網(wǎng)絡(luò)請(qǐng)求使用JSON作為數(shù)據(jù)交互格式,主要是因?yàn)镴SON有以下優(yōu)點(diǎn):
但是在開(kāi)發(fā)過(guò)程中,如果前端和后端傳輸?shù)腏SON數(shù)據(jù)長(zhǎng)且量大,說(shuō)明設(shè)計(jì)工作做得不好,而這種數(shù)據(jù)傳輸應(yīng)該盡量避免,但也可以從以下幾個(gè)方面進(jìn)行優(yōu)化:
異步批量加載,構(gòu)建大量數(shù)據(jù)導(dǎo)致前端頁(yè)面堵塞;
前端增加了銷毀機(jī)制,可以同時(shí)加載和銷毀;
使用具有高解析和壓縮性能的JSON解析工具;
在skylake處理器上,不同解析器解析相同大量數(shù)據(jù)JSON文件的速度(單位:gbgs)如下: