Maison >interface Web >js tutoriel >Comment convertir une chaîne en json en JavaScript

Comment convertir une chaîne en json en JavaScript

coldplay.xixi
coldplay.xixioriginal
2021-04-02 11:31:557522parcourir

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()].

Comment convertir une chaîne en json en JavaScript

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!

Déclaration:
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