Maison  >  Article  >  interface Web  >  Comment puis-je analyser le JSON « détendu » sans utiliser « eval » ?

Comment puis-je analyser le JSON « détendu » sans utiliser « eval » ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-03 21:11:02336parcourir

How Can I Parse

Analyser du JSON "détendu" sans recourir à l'évaluation

L'analyse de données JSON qui suivent une syntaxe "détendue" avec des clés non citées présente un défi, en particulier lorsque l'on vise à éviter le utilisation potentiellement dangereuse d'eval.

Une solution consiste à utiliser un remplacement d'expression régulière pour nettoyer le JSON chaîne. En remplaçant les paires clé-valeur non citées par leurs équivalents entre guillemets, nous pouvons créer une chaîne JSON qui adhère à la syntaxe standard.

Considérons l'exemple suivant :

var badJson = "{muh: 2}";

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

// Now we can safely parse the corrected JSON
JSON.parse(correctJson);

Cette approche nous permet de analysez les données JSON « détendue » sans compromettre la sécurité ni déclencher d'avertissements JSHint, offrant ainsi une alternative pratique et sûre à l'évaluation à des fins de test.

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