Maison > interface Web > js tutoriel > le corps du texte

2 façons de convertir une chaîne en json dans les compétences JavaScript_javascript

WBOY
Libérer: 2016-05-16 15:53:03
original
1193 Les gens l'ont consulté

Première voie :

Utilisez la fonction js eval();

testJson=eval(testJson); est la mauvaise méthode de conversion.

La méthode de conversion correcte nécessite l'ajout de (): testJson = eval("(" testJson ")");

eval() est très rapide, mais il peut compiler et exécuter n'importe quel programme javaScript, il y aura donc des problèmes de sécurité. En utilisant eval(). La source doit être digne de confiance. Besoin d'utiliser un analyseur JSON plus sécurisé. Si le serveur n'encode pas strictement le json ou si l'entrée n'est pas strictement validée, il est possible de fournir du json invalide ou de contenir des scripts dangereux, d'exécuter le script dans eval() et de libérer du code malveillant.

code js :

Copier le code Le code est le suivant :

fonction ConvertToJsonForJs() {
//var testJson = "{ nom : 'Xiaoqiang', âge : 16 }" (Supporté)
; //var testJson = "{ 'nom' : 'Xiaoqiang', 'age' : 16 }" (Supporté)
              var testJson = '{ "name": "Xiaoqiang", "age": 16 }';
​​​​​​ //testJson=eval(testJson);//Mauvaise méthode de conversion
             testJson = eval("(" testJson ")");
alerte(testJson.name);
>

La deuxième méthode utilise la méthode jquery.parseJSON(), qui a des exigences plus élevées sur le format json et doit être conforme au format json

jquery.parseJSON()

js:code

Copier le code Le code est le suivant :

fonction ConvertToJsonForJq() {
              var testJson = '{ "name": "Xiaoqiang", "age": 16 }';
                    // Je ne sais pas
​​​​​​ //'{ nom : "Xiaoqiang", âge : 16 }' (le nom n'est pas placé entre guillemets)
//"{ 'name' : "Xiaoqiang", 'age' : 16 }" (le nom utilise des guillemets simples)
              testJson = $.parseJSON(testJson);
alerte(testJson.name);
>

É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