您好,登錄后才能下訂單哦!
這篇文章主要介紹了如何縮小json文件,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
一.優化數據的結構
想要文件體積減小,優先考慮的應該是如何將文件所需要存儲的數據量降低。需要做的是討論最小可行的一個結構,將不需要的字段去除,將其中單詞,代碼進行縮減。
二.不要讓json中文轉碼
在調用PHP的json_encode()函數的時候,會將中文進行編碼Unicode,在正常情況下來看,這個可能是除了使生成的json串可讀性降低了而已,不過在這種特殊情況下,也不能忽略由于編碼,而造成的額外大量的體積開銷。不進行編碼的話,會讓文件縮小很多。
本次講解,用以下函數就夠。
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; }
三.采用壓縮的算法
現在常見的json壓縮算法有CJSON與HPack,其原理都是將key和value進行抽離,節省掉部分的重復的key值造成的空間消耗。此次中我用到的是CJSON算法。
HPack的基本是將key值抽離出來,被提取前和提取后的數據示例如下,看起來更像是表格化了,是不是很簡單:
# 提取前[ {name: "Lam", age: 18, gender: "男", hobit: "看書"}, {name: "Lee" , age: 20, gender: "女", hobit: "跳舞"}, ]# 壓縮后[ ["name", "age", "gender", "hobit"], ["Lam", 18, "男", "看書"], ["Lee", 20, "女", "跳舞"], ]
感謝你能夠認真閱讀完這篇文章,希望小編分享如何縮小json文件內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。