fastjson官網(wǎng) 如何優(yōu)化很長的JSON數(shù)據(jù)?
如何優(yōu)化很長的JSON數(shù)據(jù)?目前主流的網(wǎng)絡(luò)請求使用JSON作為數(shù)據(jù)交互格式,主要是因為JSON有以下優(yōu)點:但是如果在開發(fā)過程中,前端和后端傳輸?shù)腏SON數(shù)據(jù)又長又大,說明設(shè)計工作做得不好,而這種數(shù)據(jù)傳
如何優(yōu)化很長的JSON數(shù)據(jù)?
目前主流的網(wǎng)絡(luò)請求使用JSON作為數(shù)據(jù)交互格式,主要是因為JSON有以下優(yōu)點:
但是如果在開發(fā)過程中,前端和后端傳輸?shù)腏SON數(shù)據(jù)又長又大,說明設(shè)計工作做得不好,而這種數(shù)據(jù)傳輸應(yīng)該盡量避免,但也可以從以下幾個方面進行優(yōu)化:
異步批量加載,建筑設(shè)置大量數(shù)據(jù)導(dǎo)致前端頁面堵塞;
前端增加了銷毀機制,可以同時加載和銷毀;
使用具有高解析和壓縮性能的JSON解析工具;
json.parse報錯是怎么回事?
JSON的主要用途是用于服務(wù)器/客戶端簡單的數(shù)據(jù)交換,而不是用于對象序列化。例如,不支持引用。如果存在循環(huán)引用,則會直接報告錯誤。即使可以自定義stringify的行為,也必須自己處理,因此很難有一個通用的“優(yōu)雅”方法。
注意,對象.assign不適合做這種事,因為對象.assign這只是一個簡單的拷貝。至于getter和prototype等元信息,它在stringify中丟失了,因此只能由代碼本身恢復(fù)。
如果我只寫一個額外的類,我會把它作為一個一般要求JSON.parse文件將得到的普通對象作為參數(shù)生成對象,并適當?shù)卣{(diào)用類的new和類的組件的對應(yīng)工廠。不管怎樣,這是一個很大的麻煩。