java基礎(chǔ)知識(shí)點(diǎn) 如何優(yōu)化很長(zhǎng)的JSON數(shù)據(jù)?
如何優(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ō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)化:
異步批量加載,建筑設(shè)置大量數(shù)據(jù)導(dǎo)致前端頁(yè)面堵塞;
前端增加了銷毀機(jī)制,可以同時(shí)加載和銷毀;
使用解析和壓縮性能高的JSON解析工具;
在skylake處理器上,各種解析器解析同一個(gè)大數(shù)據(jù)量JSON文件的速度(以GB/s為單位)方法1:通過(guò)快速JSON解析獲取JSON數(shù)據(jù),方法2:通過(guò)Jackson解析獲取JSON數(shù)據(jù),方法3:通過(guò)gson解析獲取JSON數(shù)據(jù)。
遍歷json獲得數(shù)據(jù)的幾種方法小結(jié)?
[在每個(gè)接口中解析JSON,逐層檢查是否為指定的參數(shù)格式。這種方法當(dāng)然沒(méi)有問(wèn)題,但是懶惰的程序員不應(yīng)該這樣做。】R實(shí)際上應(yīng)該這樣做。只是JSON太麻煩了。如果將XML直接添加到模式中,就可以完成。一個(gè)負(fù)責(zé)任的程序員,親自檢查每一個(gè)參數(shù)。那么如何設(shè)計(jì)這種配置呢?學(xué)習(xí)XML模式并復(fù)制它。R
1。解析JSON可以引用第三方庫(kù)Newtonsoft.Json文件
2. 如果它是一個(gè)簡(jiǎn)單的JSON字符串,在確定屬性和級(jí)別時(shí),可以使用object反序列化
3。如果您不確定屬性和級(jí)別,建議使用字典進(jìn)行序列化。您可以使用字符串作為鍵,對(duì)象作為值
Java后臺(tái)JSON解析可以分為兩種情況:
一:如果您知道鍵,您可以直接使用它json.getString(鍵),以便可以獲得與該鍵對(duì)應(yīng)的值。值類型為string,可以根據(jù)實(shí)際情況轉(zhuǎn)換為jsonobject或jsonarray;
2:您不知道鍵,需要使用iteration
iterator keys=json.keys()
當(dāng)(keys.hasNext鍵()){
字符串鍵=鑰匙。下一個(gè)().toString()
字符串值=json.getString(鍵)
}
在這個(gè)最后,如果您想在后臺(tái)詢問(wèn)如何從前端接收J(rèn)SON數(shù)據(jù),可以使用string來(lái)接收。只要您在前端處理它,就可以將JSON處理成字符串,然后在后臺(tái)將字符串轉(zhuǎn)換成JSON。