Maison > interface Web > js tutoriel > Comment puis-je analyser en toute sécurité du JSON « détendu » sans utiliser « eval » ?

Comment puis-je analyser en toute sécurité du JSON « détendu » sans utiliser « eval » ?

Mary-Kate Olsen
Libérer: 2024-10-30 14:08:56
original
830 Les gens l'ont consulté

How Can I Safely Parse

Analyse du JSON « détendu » sans évaluation risquée

JSON, un format d'échange de données largement utilisé, nécessite une syntaxe stricte avec des clés entre guillemets. Cependant, certaines applications peuvent rencontrer du JSON « détendu » avec des clés non citées. L'analyse de ces données à l'aide de eval est déconseillée en raison des risques de sécurité.

Éviter le mauvais Eval

Une alternative à eval est une approche basée sur les expressions régulières qui nettoie le JSON avant l'analyse. . Cette méthode analyse la chaîne JSON et remplace toutes les clés non citées par des clés citées, garantissant ainsi la conformité à la syntaxe JSON standard sans compromettre la sécurité.

Exemple de mise en œuvre

Pour mettre en œuvre cette approche, suivez ces étapes :

<code class="javascript">var badJson = "{muh: 2}";

// Sanitize the JSON using regular expression replace
var correctJson = badJson.replace(/(['"])?([a-z0-9A-Z_]+)(['"])?:/g, '"": ');

// Parse the sanitized JSON using JSON.parse
var obj = JSON.parse(correctJson);</code>
Copier après la connexion

Conclusion

L'utilisation d'expressions régulières pour nettoyer le JSON détendu permet une analyse transparente tout en évitant les risques de sécurité potentiels associés à l'évaluation.

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal