Maison > interface Web > js tutoriel > Explication détaillée de la conversion entre les chaînes JSON et les objets_json

Explication détaillée de la conversion entre les chaînes JSON et les objets_json

WBOY
Libérer: 2016-05-16 15:57:55
original
1177 Les gens l'ont consulté

JSON (JavaScript Object Notation) est un sous-ensemble du langage de programmation JavaScript. JSON étant un sous-ensemble de JavaScript, il peut être clairement utilisé dans ce langage.

Fonction d'évaluation Convertir le texte JSON en objet

Afin de convertir du texte JSON en objet, vous pouvez utiliser la fonction eval. La fonction eval appelle l'éditeur JavaScript. Puisque JSON est un sous-ensemble de JavaScript, le compilateur analysera correctement le texte et produira des structures d'objet. Le texte doit être placé entre parenthèses pour éviter les ambiguïtés de syntaxe JavaScript.
var obj = eval('(' JSONTest ')'); La fonction eval est très rapide. Il peut compiler et exécuter n'importe quel programme JavaScript, créant ainsi des problèmes de sécurité. La fonction eval ne doit être utilisée que lors de l'utilisation d'un code source fiable et complet. Cela permet une analyse plus sûre du texte JSON. Pour les applications Web qui utilisent XmlHttp, la communication entre les pages autorise uniquement la même origine, elle peut donc être fiable. Mais ce n'est pas parfait. Si le serveur n'a pas de codage JSON strict ou n'a pas de validation d'entrée stricte, il peut transmettre du texte JSON non valide, y compris des scripts dangereux. La fonction eval exécutera le script malveillant.

Interpréteur JSON JSON.parse, JSON.stringify

L'utilisation d'un analyseur JSON peut prévenir les risques de sécurité comme la fonction eval qui convertit le texte JSON en objets. L'analyseur JSON ne peut reconnaître que le texte JSON et rejeter tous les scripts. Les navigateurs qui fournissent une prise en charge native de JSON auront leurs analyseurs JSON beaucoup plus rapides que la fonction eval.

Actuellement, Firefox, Opera et IE8 et versions ultérieures fournissent également un support JSON local. Parmi elles, les fonctions fournies par l'interpréteur JSON sont : JSON.parse, JSON.stringify.

Pour les navigateurs qui ne fournissent pas de support JSON natif, vous pouvez introduire le script json2.js pour implémenter la fonction de conversion JSON. Le script json2.js peut être téléchargé depuis la page https://github.com/douglascrockford/JSON-js/blob/master/json2.js.

Fonction JSON.parse

Convertissez le texte JSON en objet.
JSON.parse(texte[, reviver])
Paramètres
texte
Requis. Texte JSON à convertir en objet.
raviveur
Facultatif. Ce paramètre est une fonction de remplacement. Dans la transformation, pour chaque nœud traversé, cette fonction sera exécutée, et la valeur de retour de la fonction remplacera la valeur du nœud correspondant du résultat de la transformation.

Fonction JSON.stringify

Convertir l'objet en texte JSON.
JSON.stringify(value[, replacer[, space]])
Paramètres
texte
Requis. Objet à convertir en texte JSON.
raviveur
Facultatif. Ce paramètre est une fonction de remplacement. Dans la transformation, pour chaque nœud traversé, cette fonction sera exécutée, et la valeur de retour de la fonction remplacera la valeur du nœud correspondant du résultat de la transformation.
espace
Facultatif. Nombre d'espaces pour mettre en retrait le texte JSON de sortie formaté. Si ce paramètre n'est pas fourni, la sortie ne sera pas formatée.
Type de délégué de relanceur de paramètres
reviver(clé, valeur)
Ceci dans la fonction reviver est le nœud parent du nœud actuellement traversé. Lorsque le nœud racine est parcouru, le nœud parent est un objet Objet, le nœud racine est un attribut de l'objet et le nom de l'attribut est une chaîne vide.
Paramètres
clé
Lorsque le nœud parent est un objet tableau, la clé est l'index du tableau, sinon la clé est le nom de la propriété Objet.
valeur
valeur du nœud.
Remarque : JSON ne prend pas en charge les structures de données circulaires.

jQuery.parseJSON( jsonTex )

jQuery dispose également d'une méthode de conversion de chaînes au format JSON, jQuery.parseJSON(json), qui accepte une chaîne JSON au format standard et renvoie un objet JavaScript (JSON) analysé. Bien sûr, si vous êtes intéressé, vous pouvez encapsuler vous-même une extension jQuery. jQuery.stringifyJSON(obj) convertit JSON en chaîne.

Ce qui précède représente l’intégralité du contenu de cet article. J’espère que vous l’aimerez tous.

Étiquettes associées:
source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal