Cette fois, je vais vous apporter un résumé de la méthode de conversion d'une chaîne en json en JS Quelles sont les précautions lors de la conversion d'une chaîne en json en JS. cas pratique. Jetons un coup d'oeil une fois.
La première façon :
Utiliser la fonction js eval();
testJson=eval(testJson);
La méthode de conversion correcte nécessite l'ajout de (): testJson = eval("(" + testJson + ")");
eval() est très rapide, mais il peut être compilé et exécuté 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 :
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 façon consiste à utiliser 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
function ConvertToJsonForJq() { var testJson = '{ "name": "小强", "age": 16 }'; //不知道 //'{ name: "小强", age: 16 }' (name 没有使用双引号包裹) //"{ 'name': "小强", 'age': 16 }"(name使用单引号) testJson = $.parseJSON(testJson); alert(testJson.name); }
Je crois que vous maîtrisez la méthode après avoir lu le cas. dans cet article. Pour des choses plus excitantes, veuillez prêter attention à php Chinois Autres articles connexes en ligne !
Lecture recommandée :
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!