Maison  >  Article  >  interface Web  >  Comment réduire le fichier json s'il est trop volumineux

Comment réduire le fichier json s'il est trop volumineux

(*-*)浩
(*-*)浩original
2019-05-18 20:05:027087parcourir

Comment réduire les fichiers json : 1. Optimiser la structure des données et réduire la quantité de données qui doivent être stockées dans le fichier ; 2. Ne pas autoriser le transcodage de json en chinois ; 3. Utiliser des algorithmes de compression ; , les algorithmes de compression json désormais courants incluent "CJSON" et "HPack".

Comment réduire le fichier json s'il est trop volumineux

Lorsque le front-end et le back-end interagissent, parfois afin de réduire les requêtes réseau, des fichiers localisés avec une fréquence de modification extrêmement faible sont souvent générés et directement traités Opérations, telles que les données de sélection d'adresse, de nombreuses plates-formes utilisent désormais de telles opérations.

Mais pour certaines petites quantités de données, c'est une chose très simple, mais lorsqu'on rencontre une grande quantité de données, cela devient évident Aujourd'hui, j'en ai rencontré une si elle est générée selon la structure établie du. json frontal, la taille du fichier est de 4,2 Mo. À cette époque, mon visage était plein de lignes noires. Plus tard, j'ai trouvé un moyen de réduire les données à 0,7 Mo. C'est probablement ma limite actuelle. restez petit, je ne peux que changer la structure ou suivre le front-end est en train de mourir.

Parlons de la "méthode spécifique de compression", en prenant PHP comme exemple

1 Optimiser la structure des données

Pensez Pour réduire la taille du fichier, la priorité devrait être de réduire la quantité de données que le fichier doit stocker. Ce qu'il faut faire, c'est discuter de la structure minimale réalisable, supprimer les champs inutiles et réduire les mots et les codes qu'elle contient.

2. Ne laissez pas le chinois json transcoder

Lors de l'appel de la fonction json_encode() de PHP, le chinois sera codé en Unicode, dans des circonstances normales. réduisez la lisibilité de la chaîne json générée, mais dans ce cas particulier, la surcharge de volume supplémentaire causée par l'encodage ne peut pas être ignorée. Sans encodage, le fichier sera beaucoup plus petit.

Pour cette explication, les fonctions suivantes suffisent.

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;
}

3. Algorithme de compression

Les algorithmes de compression json courants incluent désormais CJSON et HPack, dont les principes sont de séparer la clé et la valeur et de les enregistrer en partie. consommation d'espace causée par des valeurs de clé en double. Cette fois, j'ai utilisé l'algorithme CJSON.

HPack extrait essentiellement la valeur clé. Des exemples de données avant et après l'extraction sont les suivants. Cela ressemble plus à une forme tabulaire :

# 提取前[
  {name: "Lam", age: 18, gender: "男", hobit: "看书"},
  {name: "Lee" , age: 20, gender: "女", hobit: "跳舞"},
]# 压缩后[
  ["name", "age", "gender", "hobit"],
  ["Lam", 18, "男", "看书"],
  ["Lee", 20, "女", "跳舞"],
]
.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Qu'est-ce que JsonObjectArticle suivant:Qu'est-ce que JsonObject