Maison interface Web js tutoriel La meilleure façon de convertir une chaîne JSON en objet JSON dans les compétences js_javascript

La meilleure façon de convertir une chaîne JSON en objet JSON dans les compétences js_javascript

May 16, 2016 pm 04:54 PM
js json

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.

La première méthode d'analyse : 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, renvoyée après la requête jQuery Le résultat est un objet json. Ce qui est considéré ici est la chaîne renvoyée par le serveur sous forme JSON. Pour les objets JSON encapsulés par des plug-ins tels que JSONObject, le processus est similaire et ne sera pas expliqué ici.
Le jeu de chaînes JSON est donné en premier ici. Le jeu de chaînes est le suivant :

Copier le code Le code est le suivant. :
var data = " {
root:
[
{nom : '1', valeur : '0'},
{nom : '6101', valeur : 'Pékin'} ,
{nom : '6102', valeur : 'Tianjin'},
{nom : '6103', valeur : 'Shanghai'},
{nom : '6104', valeur : 'Ville de Chongqing'},
{nom : '6105', valeur : 'Ville de Weinan'},
{nom : '6106', valeur : 'Ville de Yan'an'},
{nom : '6107' , valeur : 'Hanzhong City'},
{nom : '6108', valeur : 'Yulin City'},
{nom : '6109', valeur : 'Ankang City'},
{nom : '6110', valeur : 'Shangluo City'}
]
}
";

Ici sont basés sur les types de données obtenus de manière asynchrone par jQuery - objets json et chaînes, respectivement. Présenter les méthodes de traitement des résultats obtenus de deux manières.
1. Pour la chaîne JSON renvoyée par le serveur, si la requête asynchrone jQuery ne spécifie pas le type, ou ne l'accepte pas comme chaîne, alors elle doit être objectivée. la chaîne dans eval() est exécutée une fois. Cette méthode convient également pour obtenir des objets json dans la méthode JavaScript ordinaire. L'exemple suivant illustre :
Copier le code Le code est tel. suit :
var dataObj = eval("(" data ")"); // Convertir en objet json


Pourquoi devez-vous ajouter "("(" data " )");" à évaluer ?
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, prenez l'objet littéral {}. Si aucun crochet extérieur n'est ajouté, alors eval reconnaîtra les accolades comme les marques de début et de fin du bloc de code JavaScript, et {} sera considéré comme exécutant une instruction vide. Ainsi les deux résultats d'exécution suivants sont différents :
Copiez le code Le code est le suivant :

alert( eval("{}"); // return undefined
alert(eval("({})");// return object[Object]

Pour cette méthode d'écriture, en JS , vous pouvez le voir partout.
Par exemple : (function(){})(); Lors des opérations de fermeture, etc.
Copier le code <.> Le code est le suivant :
alert(dataObj.root.length);//Afficher le nombre de sous-objets de root
$.each(dataObj.root, fonction(idx, item) {
if (idx == 0) {
return true;
}
//Afficher le nom et la valeur de chaque sous-objet racine

alert("name:" item.name ",value:" item.value);
})


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'eval () n'est pas nécessaire. Comme le résultat obtenu à ce moment est déjà un objet json, il vous suffit d'appeler l'objet directement. Ici, la méthode $.getJSON est utilisée comme exemple pour illustrer la méthode de traitement des données :

Copier le code Le code est le suivant :
$.getJSON("http://blog.snsgou.com/", {param: "snsgou"}, function (data) {
// Les données renvoyées ici sont déjà un objet json
// Les autres opérations suivantes sont identiques au premier cas
$.each(data.root, function (index, item) {
if (index == 0) {
return true; // Identique à countinue, renvoyer false équivaut à break
}
alert("name:" item.name ",value:" item.value);
});
});

Ceci est spécial. Il convient de noter 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 : utilisez l'objet Function pour terminer. Son application typique est l'analyse des données renvoyées telles que le succès sous la méthode AJAX dans jQuery
Copier le code Le code est le suivant :
var json='{"name":"CJ","age":18}';
data =(new Function("", "return " json))();

Les données à ce moment sont un objet json qui sera analysé.


La conclusion finale est :
chaîne json vers objet json, utilisez (new Function("return " jsonString))( au lieu de eval('(' jsonString ')') ;

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

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 !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Recommandé : Excellent projet de détection et de reconnaissance des visages open source JS Recommandé : Excellent projet de détection et de reconnaissance des visages open source JS Apr 03, 2024 am 11:55 AM

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

Quelle est la différence entre MySQL5.7 et MySQL8.0 ? Quelle est la différence entre MySQL5.7 et MySQL8.0 ? Feb 19, 2024 am 11:21 AM

MySQL5.7 et MySQL8.0 sont deux versions différentes de la base de données MySQL. Il existe quelques différences principales entre elles : Améliorations des performances : MySQL8.0 présente quelques améliorations de performances par rapport à MySQL5.7. Ceux-ci incluent de meilleurs optimiseurs de requêtes, une génération de plans d'exécution de requêtes plus efficaces, de meilleurs algorithmes d'indexation et des requêtes parallèles, etc. Ces améliorations peuvent améliorer les performances des requêtes et les performances globales du système. Prise en charge JSON : MySQL 8.0 introduit la prise en charge native du type de données JSON, y compris le stockage, la requête et l'indexation des données JSON. Cela rend le traitement et la manipulation des données JSON dans MySQL plus pratiques et efficaces. Fonctionnalités de transaction : MySQL8.0 introduit de nouvelles fonctionnalités de transaction, telles que l'atome

Conseils d'optimisation des performances pour la conversion de tableaux PHP en JSON Conseils d'optimisation des performances pour la conversion de tableaux PHP en JSON May 04, 2024 pm 06:15 PM

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.

Tutoriel d'utilisation de Pandas : Démarrage rapide pour la lecture de fichiers JSON Tutoriel d'utilisation de Pandas : Démarrage rapide pour la lecture de fichiers JSON Jan 13, 2024 am 10:15 AM

Démarrage rapide : méthode Pandas de lecture des fichiers JSON, des exemples de code spécifiques sont requis Introduction : Dans le domaine de l'analyse des données et de la science des données, Pandas est l'une des bibliothèques Python importantes. Il fournit des fonctions riches et des structures de données flexibles, et peut facilement traiter et analyser diverses données. Dans les applications pratiques, nous rencontrons souvent des situations où nous devons lire des fichiers JSON. Cet article expliquera comment utiliser Pandas pour lire des fichiers JSON et joindra des exemples de code spécifiques. 1. Installation de Pandas

Comment les annotations de la bibliothèque Jackson contrôlent-elles la sérialisation et la désérialisation JSON ? Comment les annotations de la bibliothèque Jackson contrôlent-elles la sérialisation et la désérialisation JSON ? May 06, 2024 pm 10:09 PM

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

Conseils de développement PHP et JS : maîtrisez la méthode de création de graphiques en bougies boursières Conseils de développement PHP et JS : maîtrisez la méthode de création de graphiques en bougies boursières Dec 18, 2023 pm 03:39 PM

Avec le développement rapide de la finance sur Internet, l'investissement en actions est devenu le choix de plus en plus de personnes. Dans le trading d'actions, les graphiques en bougies sont une méthode d'analyse technique couramment utilisée. Ils peuvent montrer l'évolution des cours des actions et aider les investisseurs à prendre des décisions plus précises. Cet article présentera les compétences de développement de PHP et JS, amènera les lecteurs à comprendre comment dessiner des graphiques en bougies boursières et fournira des exemples de code spécifiques. 1. Comprendre les graphiques en bougies boursières Avant de présenter comment dessiner des graphiques en bougies boursières, nous devons d'abord comprendre ce qu'est un graphique en bougies. Les graphiques en chandeliers ont été développés par les Japonais

Compréhension approfondie de PHP : méthode d'implémentation de conversion de JSON Unicode en chinois Compréhension approfondie de PHP : méthode d'implémentation de conversion de JSON Unicode en chinois Mar 05, 2024 pm 02:48 PM

Compréhension approfondie de PHP : méthode d'implémentation de conversion de JSONUnicode en chinois Au cours du développement, nous rencontrons souvent des situations où nous devons traiter des données JSON, et l'encodage Unicode en JSON nous posera quelques problèmes dans certains scénarios, en particulier lorsqu'Unicode doit être converti Lorsque l'encodage est converti en caractères chinois. En PHP, certaines méthodes peuvent nous aider à réaliser ce processus de conversion. Une méthode courante sera présentée ci-dessous et des exemples de code spécifiques seront fournis. Tout d’abord, comprenons d’abord le Un en JSON

La relation entre js et vue La relation entre js et vue Mar 11, 2024 pm 05:21 PM

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.

See all articles