JSON contre serialize
mercredi 22 novembre 2006Peut d’entre vous n’ont pas entendu parler de la syntaxe JSON qui permet de passer toutes sorte de variables d’un language à un autre.
Ce format est intégré à PHP depuis la version 5.2.0 grace au fonctions json_encode() et json_decode().
Cependant, à mon avis, ce format n’a pas d’intéret si l’on passe nos variables uniquement de javascript à php.
Pour commencer ce format n’est pas des plus optimisé… pour une chaine de caractère vous devez en échapper certains (\\, \’ …) ce qui pousse l’algo à repérer ces échappement et donc cela est plus lourd que le format retourné par la fonction serialize qui, elle, définie avant la chaine le nombre de characters qu’elle contient.
Même si il est intégré à PHP 5.2.0 il ne l’est pas dans les anciennes version ce qui vous poussera à utiliser une fonction utilisateur dans ce cas et donc cela rendra l’éxécution encore moins rapide.
L’avantage de ce format est qu’il se parse beaucoup plus rapidement au niveau javascript au détriment de la rapidité d’éxécution sur le serveur.
Pour ma part je préfère serialize(), fonction native de php, rapide, souvent dans le cache (elle est utilisé pour stocker les sessions) et permet de renvoyer la plus grosse charge de calcul aux utilisateurs grace à ma fonction.
Tant que je n’éssaye pas de faire une page avec autre chose que php, tout va bien.