Comment convertir une chaîne en json en JavaScript : 1. Utilisez la fonction js [eval();], le code est [testJson = eval("(" + testJson + ")")]; la méthode [jquery.parseJSON()].
L'environnement d'exploitation de ce tutoriel : système Windows 7, JavaScript version 1.8.5, ordinateur DELL G3.
Méthode pour convertir une chaîne en json en JavaScript :
La première façon :
Utiliser 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 :
Le code est le suivant :
function ConvertToJsonForJs() { //var testJson = "{ name: '小强', age: 16 }";(支持) //var testJson = "{ 'name': '小强', 'age': 16 }";(支持) var testJson = '{ "name": "小强", "age": 16 }'; //testJson=eval(testJson);//错误的转换方式 testJson = eval("(" + testJson + ")"); alert(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 respecter le format json
jquery.parseJSON()
js : code
Le code est le suivant :
function ConvertToJsonForJq() { var testJson = '{ "name": "小强", "age": 16 }'; //不知道 //'{ name: "小强", age: 16 }' (name 没有使用双引号包裹) //"{ 'name': "小强", 'age': 16 }"(name使用单引号) testJson = $.parseJSON(testJson); alert(testJson.name); }
Recommandations d'apprentissage gratuites associées : javascript (Vidéo)
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!