Question

Duplicate: Sérialisation vers JSON dans jQuery

Il semble qu’il existe un sérialiseur / désérialiseur JSON intégré à jQuery, car il est capable d’implémenter des éléments tels que .getJSON. Est-il possible d'utiliser le processeur JSON intégré dans JQuery lui-même comme un processeur JSON à usage général (c.-à-d. Effectuer un appel jQuery.something () pour sérialiser / désérialiser mes propres données), supprimant ainsi le besoin d'une bibliothèque JSON séparée?

Mise à jour: les réponses à la question mentionnée ci-dessus indiquent qu'il n'y a pas de code de sérialisation JSON dans jQuery. Que diriez-vous de la désérialisation JSON? Comment .getJSON est-il mis en œuvre et pourquoi la fonctionnalité de désérialisation n’est-elle pas exposée à une utilisation générale?

Update2: J'utilise déjà json2 sur json.org, j'essaie de m'en débarrasser car tout ce que je fais est une simple désérialisation. On dirait que jQuery fait vraiment eval? J'avais l'impression que ce n'était pas si bon pour la sécurité :

  

La fonction eval est très rapide.   Cependant, il peut compiler et exécuter   tout programme JavaScript, donc il peut   être des problèmes de sécurité

Était-ce utile?

La solution

jQuery utilise simplement eval () pour le moment. jQuery 1.4 inclura la prise en charge de la désérialisation JSON native du navigateur dans les navigateurs qui la prennent en charge. Vous pouvez en profiter dès maintenant si vous le souhaitez, par utiliser le rappel dataFilter de jQuery pour éviter eval () autant que possible (mettez-le dans $ .ajaxSetup pour affecter tous les appels $ .ajax (), $ .post (), $ .getJSON ()).

Autres conseils

L’implémentation de la sérialisation / désérialisation disponible à l’adresse http: //www.json. org / js.html qui fournit JSON.parse () et JSON.stringify (), facilitant ainsi la (dé) sérialisation et la validation des données.

Si vous souhaitez simplement traduire un texte JSON en objet, utilisez la fonction eval ().

Je viens de commencer à utiliser jQuery, et je trouve qu'il est plus simple de simplement supprimer la bibliothèque JSON2.js de JSON.org, puis d'étendre l'utilisation de jQuery.

Je crois que pour désérialiser les données json entrantes, jQuery vient d’éval (). Je ne connais pas de sérialisation intégrée cependant.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top