這篇文章主要介紹了如何縮小json文件,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
成都創(chuàng)新互聯(lián)主要從事成都網(wǎng)站設(shè)計、成都做網(wǎng)站、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)西藏,十多年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18982081108
一.優(yōu)化數(shù)據(jù)的結(jié)構(gòu)
想要文件體積減小,優(yōu)先考慮的應(yīng)該是如何將文件所需要存儲的數(shù)據(jù)量降低。需要做的是討論最小可行的一個結(jié)構(gòu),將不需要的字段去除,將其中單詞,代碼進(jìn)行縮減。
二.不要讓json中文轉(zhuǎn)碼
在調(diào)用PHP的json_encode()函數(shù)的時候,會將中文進(jìn)行編碼Unicode,在正常情況下來看,這個可能是除了使生成的json串可讀性降低了而已,不過在這種特殊情況下,也不能忽略由于編碼,而造成的額外大量的體積開銷。不進(jìn)行編碼的話,會讓文件縮小很多。
本次講解,用以下函數(shù)就夠。
function jsonEncode($da) { return urldecode(json_encode(arrUrlencode($da))); } function arrUrlencode($da) { if(is_array($da)){ foreach($da as $k => $v) { if(is_array($v)){ $da[$k] = arrUrlencode($v); }elseif(is_string($v) && !is_numeric($v)) { $da[$k] = urlencode($v); } } } return $da; }
三.采用壓縮的算法
現(xiàn)在常見的json壓縮算法有CJSON與HPack,其原理都是將key和value進(jìn)行抽離,節(jié)省掉部分的重復(fù)的key值造成的空間消耗。此次中我用到的是CJSON算法。
HPack的基本是將key值抽離出來,被提取前和提取后的數(shù)據(jù)示例如下,看起來更像是表格化了,是不是很簡單:
# 提取前[ {name: "Lam", age: 18, gender: "男", hobit: "看書"}, {name: "Lee" , age: 20, gender: "女", hobit: "跳舞"}, ]# 壓縮后[ ["name", "age", "gender", "hobit"], ["Lam", 18, "男", "看書"], ["Lee", 20, "女", "跳舞"], ]
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享如何縮小json文件內(nèi)容對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,遇到問題就找創(chuàng)新互聯(lián),詳細(xì)的解決方法等著你來學(xué)習(xí)!
網(wǎng)頁標(biāo)題:如何縮小json文件
URL標(biāo)題:http://www.rwnh.cn/article42/jisshc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、、響應(yīng)式網(wǎng)站、電子商務(wù)、微信公眾號、關(guān)鍵詞優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)