


Analyse des précautions d'utilisation de eval pour analyser JSON dans les compétences JS_javascript
Cet article analyse en détail les précautions d'utilisation de eval pour analyser JSON dans JS. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :
Il existe généralement deux façons d'analyser les chaînes JSON au format de données JSON dans JS :
1. La première consiste à utiliser la fonction eval().
2. Utilisez l'objet Function pour effectuer une analyse de retour.
Utilisez la fonction eval pour analyser et utilisez la méthode each de jquery pour parcourir
Utilisez jquery pour analyser les données JSON. En tant qu'objet de transmission de la requête asynchrone jquery, le résultat renvoyé après la requête jquery est l'objet json. Ce qui est considéré ici est la forme de chaîne renvoyée par le serveur sous forme JSON pour l'encapsulation à l'aide du plug. -ins tels que JSONObject L'objet JSON est similaire à celui-ci et ne sera pas expliqué ici.
Le jeu de chaînes JSON est d'abord donné ici. Le jeu de chaînes est le suivant :
Le code est le suivant :
var data=" { root: [ {name:'1',value:'0'}, {name:'6101',value:'北京市'}, {name:'6102',value:'天津市'}, {name:'6103',value:'上海市'}, {name:'6104',value:'重庆市'}, {name:'6105',value:'渭南市'}, {name:'6106',value:'延安市'}, {name:'6107',value:'汉中市'}, {name:'6108',value:'榆林市'}, {name:'6109',value:'安康市'}, {name:'6110',value:'商洛市'} ] }";
Sur la base des types de données obtenus de manière asynchrone par jquery - objets et chaînes json, nous introduisons ici les méthodes de traitement des résultats obtenus des deux manières.
1. Pour la chaîne JSON renvoyée par le serveur, si la requête asynchrone jquery n'a pas de description de type ou est acceptée comme chaîne, alors elle doit être objectivée. mettre la chaîne dans eval() est exécuté une fois. Cette méthode convient également pour obtenir des objets json à l'aide d'un javascipt ordinaire. Voici un exemple :
.var dataObj=eval("("+data+")");//转换为json对象 Red rose为什么要 eval这里要添加 “("("+data+")");//”呢?
La raison est : le problème de l'évaluation elle-même. Puisque json commence et se termine par "{}", il sera traité comme un bloc d'instructions dans JS, il doit donc être forcé pour être converti en expression.
Le but de l'ajout de parenthèses est de forcer la fonction eval à convertir l'expression entre parenthèses en objet au lieu de l'exécuter en tant qu'instruction lors du traitement du code JavaScript. Par exemple, si le littéral d'objet {} n'est pas ajouté avec des crochets extérieurs, alors eval reconnaîtra les accolades comme marques de début et de fin du bloc de code JavaScript, et {} sera considéré comme exécutant une instruction vide. Les deux résultats d'exécution suivants sont donc différents :
alert(eval("{}"); // return undefined alert(eval("({})");// return object[Object]
Ce type d'écriture peut être vu partout dans JS.
Par exemple : (function()) {}(); Lors d'opérations de fermeture, etc.
alert(dataObj.root.length);//输出root的子对象数量 $.each(dataObj.root,fucntion(idx,item){ if(idx==0){ return true; } //输出每个root子对象的名称和值 alert("name:"+item.name+",value:"+item.value); })
Remarque : pour que les js généraux génèrent des objets json, il vous suffit de remplacer la méthode $.each() par une instruction for, et les autres restent inchangées.
2. Pour la chaîne JSON renvoyée par le serveur, si la requête asynchrone jquery définit le type (généralement cet attribut de configuration) sur "json", ou utilise la méthode $.getJSON() pour obtenir le retour du serveur, alors là Il n'est pas nécessaire d'utiliser la méthode eval(), car le résultat obtenu à ce moment est déjà un objet json, il vous suffit d'appeler directement l'objet. Ici, la méthode $.getJSON est utilisée comme exemple pour illustrer la méthode de traitement des données :
$.getJSON("http://www.phpzixue.cn/",{param:"gaoyusi"},function(data){ //此处返回的data已经是json对象 //以下其他操作同第一种情况 $.each(data.root,function(idx,item){ if(idx==0){ return true;//同countinue,返回false同break } alert("name:"+item.name+",value:"+item.value); }); });
Ce qui nécessite une attention particulière ici, c'est que la méthode eval() de la méthode 1 exécute dynamiquement la chaîne (éventuellement un script js), ce qui peut facilement provoquer des problèmes de sécurité du système. Par conséquent, vous pouvez utiliser certaines bibliothèques de scripts client tierces qui contournent eval(). Par exemple, JSON en JavaScript fournit une bibliothèque de scripts ne dépassant pas 3 Ko.
La deuxième méthode d'analyse consiste à utiliser des objets Function. Son application typique est l'analyse des données renvoyées telles que le succès sous la méthode AJAX dans JQUERY
var json='{"name":"CJ","age":18}'; data =(new Function("","return "+json))();
Les données à ce moment sont un objet json qui sera analysé.
J'espère que cet article sera utile à tout le monde dans la programmation JavaScript.

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

La technologie de détection et de reconnaissance des visages est déjà une technologie relativement mature et largement utilisée. Actuellement, le langage d'application Internet le plus utilisé est JS. La mise en œuvre de la détection et de la reconnaissance faciale sur le front-end Web présente des avantages et des inconvénients par rapport à la reconnaissance faciale back-end. Les avantages incluent la réduction de l'interaction réseau et de la reconnaissance en temps réel, ce qui réduit considérablement le temps d'attente des utilisateurs et améliore l'expérience utilisateur. Les inconvénients sont les suivants : il est limité par la taille du modèle et la précision est également limitée ; Comment utiliser js pour implémenter la détection de visage sur le web ? Afin de mettre en œuvre la reconnaissance faciale sur le Web, vous devez être familier avec les langages et technologies de programmation associés, tels que JavaScript, HTML, CSS, WebRTC, etc. Dans le même temps, vous devez également maîtriser les technologies pertinentes de vision par ordinateur et d’intelligence artificielle. Il convient de noter qu'en raison de la conception du côté Web

Pendant le test Mingchao, veuillez éviter les mises à niveau du système, les réinitialisations d'usine et le remplacement de pièces pour éviter que la perte d'informations ne provoque une connexion anormale au jeu. Rappel spécial : il n'y a pas de voie d'appel pendant la période de test, veuillez donc la manipuler avec prudence. Introduction aux précautions lors du test Mingchao : Ne pas mettre à niveau le système, restaurer les paramètres d'usine, remplacer les composants de l'équipement, etc. Notes : 1. Veuillez mettre à niveau le système avec soin pendant la période de test pour éviter la perte d'informations. 2. Si le système est mis à jour, cela peut entraîner un problème d'impossibilité de se connecter au jeu. 3. À ce stade, le canal d'appel n'a pas encore été ouvert. Il est conseillé aux joueurs de choisir s'ils souhaitent effectuer une mise à niveau, à leur propre discrétion. 4. Dans le même temps, un compte de jeu ne peut être utilisé qu’avec un seul appareil Android et un seul PC. 5. Il est recommandé d'attendre la fin du test avant de mettre à niveau le système de téléphonie mobile, de restaurer les paramètres d'usine ou de remplacer l'appareil.

Les méthodes d'optimisation des performances pour la conversion des tableaux PHP en JSON incluent : l'utilisation d'extensions JSON et de la fonction json_encode() ; l'ajout de l'option JSON_UNESCAPED_UNICODE pour éviter l'échappement de caractères ; l'utilisation de tampons pour améliorer les performances d'encodage de boucle et l'utilisation d'un tiers ; Bibliothèque d'encodage JSON.

Avec l'essor des plateformes de vidéos courtes, Douyin est devenu une partie intégrante de la vie quotidienne de nombreuses personnes. Diffuser en direct sur Douyin et interagir avec les fans sont le rêve de nombreux utilisateurs. Alors, comment démarrer une diffusion en direct sur Douyin pour la première fois ? 1. Comment démarrer une diffusion en direct sur Douyin pour la première fois ? 1. Préparation Pour démarrer la diffusion en direct, vous devez d'abord vous assurer que votre compte Douyin a terminé l'authentification par votre nom réel. Vous pouvez trouver le didacticiel d'authentification par nom réel dans « Moi » -> « Paramètres » -> « Compte et sécurité » dans l'application Douyin. Après avoir terminé l'authentification par nom réel, vous pouvez remplir les conditions de diffusion en direct et démarrer la diffusion en direct sur la plateforme Douyin. 2. Demandez une autorisation de diffusion en direct. Après avoir rempli les conditions de diffusion en direct, vous devez demander une autorisation de diffusion en direct. Ouvrez l'application Douyin, cliquez sur "Moi" -> "Creator Center" -> "Direct

[Analyse de la signification et de l'utilisation du point médian PHP] En PHP, le point médian (.) est un opérateur couramment utilisé, utilisé pour connecter deux chaînes ou propriétés ou méthodes d'objets. Dans cet article, nous approfondirons la signification et l’utilisation des points médians en PHP, en les illustrant avec des exemples de code concrets. 1. Opérateur de point médian de chaîne de connexion L’utilisation la plus courante en PHP consiste à connecter deux chaînes. En plaçant . entre deux chaînes, vous pouvez les assembler pour former une nouvelle chaîne. $string1=&qu

Les annotations dans la bibliothèque Jackson contrôlent la sérialisation et la désérialisation JSON : Sérialisation : @JsonIgnore : Ignorer la propriété @JsonProperty : Spécifiez le nom @JsonGetter : Utilisez la méthode get @JsonSetter : Utilisez la méthode set Désérialisation : @JsonIgnoreProperties : Ignorez la propriété @ JsonProperty : Spécifiez le nom @JsonCreator : utilisez le constructeur @JsonDeserialize : logique personnalisée

Analyse des nouvelles fonctionnalités de Win11 : Comment ignorer la connexion à un compte Microsoft Avec la sortie de Windows 11, de nombreux utilisateurs ont constaté qu'il apportait plus de commodité et de nouvelles fonctionnalités. Cependant, certains utilisateurs n'aiment pas que leur système soit lié à un compte Microsoft et souhaitent ignorer cette étape. Cet article présentera quelques méthodes pour aider les utilisateurs à ne pas se connecter à un compte Microsoft dans Windows 11 afin d'obtenir une expérience plus privée et autonome. Tout d’abord, comprenons pourquoi certains utilisateurs hésitent à se connecter à leur compte Microsoft. D'une part, certains utilisateurs craignent

La relation entre js et vue : 1. JS comme pierre angulaire du développement Web ; 2. L'essor de Vue.js en tant que framework front-end ; 3. La relation complémentaire entre JS et Vue ; Vue.
