Aperçu
De nos jours, le format JSON attire de plus en plus l'attention dans le développement Web, en particulier dans le processus d'utilisation d'Ajax pour développer des projets, il est souvent nécessaire de renvoyer les chaînes au format JSON au front-end, et le front-end les analyse en JS. objets (JSON).
Le concept de JSON n'a pas été écrit dans la norme dans ECMA-262 (E3). Heureusement, le concept de JSON a été officiellement introduit dans ECMA-262 (E5), y compris l'objet JSON global et la méthode toJSON de Date.
Trois façons d'analyser les données JSON
Méthode eval()
La manière la plus courante d'analyser les données JSON est d'utiliser la méthode javascript eval(), le code est le suivant :
fonction toJson(str){
var json = eval('(' str ')');
retourner json ;
>
Cette méthode présente des problèmes de performances et de sécurité et n’est pas recommandée.
nouvelle méthode Function
fonction toJson(str){
var json = (new Function("return " str))();
retourner json ;
>
Méthode JSON.parse()
Cette méthode ne prend en charge que IE8/Firefox3.5/Chrome4/Safari4/Opera10 et supérieur. Ces navigateurs sont proches du standard W3C et implémentent la méthode toJSON par défaut.
fonction toJson(str){
return JSON.parse(str);
>
json2.js utilisera la version native lorsque le navigateur prend en charge nativement JSON.parse et qu'il est compatible API avec ES5. Dans la situation actuelle où ES5 n'a pas encore été entièrement popularisé, John Resig recommande d'utiliser json2.js principalement pour que vous puissiez utiliser des API compatibles avec ES5 maintenant et passer en douceur à ES5 à l'avenir - supprimez simplement une importation et basculez.