Cet article présente principalement la conversion mutuelle des objets js et des chaînes au format JSON en JavaScript. Il a une certaine valeur de référence. Les amis intéressés peuvent s'y référer.
Tout d'abord, jetons un œil aux chaînes au format JSON en js
var JSONStr1 = "{\"name\" : \"张三\"}";
Notez que l'écriture suivante ne correspond pas aux caractères au format JSON en js String, c'est juste une chaîne js.
var JSONStr2 = "{'name' : '张三'}";
Regardons la définition de chaîne dans la syntaxe JSON : est une collection de n'importe quel nombre de caractères Unicode entourés de doubles guillemets, utilisez une barre oblique inverse pour s'échapper. Un caractère est une chaîne de caractères unique.
Voyons comment convertir une chaîne au format JSON en un objet JS en js. (
var jsObj3 = eval("(" + JSONStr1 + ")"); var jsObj4 = JSON.parse(JSONStr1);
Pour les raisons spécifiques pour lesquelles il est recommandé d'utiliser la deuxième méthode, veuillez consulter : http://www.php.cn/
De plus, permettez-moi de mentionner que l'objet js converti à l'aide de ces deux méthodes doit être "un objet js conforme au format de données JSON", ce qui signifie que ses attributs sont entre guillemets. Ce n'est qu'une supposition. partie, car si le format JSON La chaîne de It peut être représentée par des lettres, des chiffres, des traits de soulignement et des symboles $ Lorsque vous utilisez d'autres attributs de symbole, vous devez ajouter des guillemets, il n'est donc pas faux d'ajouter des guillemets aux propriétés dans. Représentation littérale de l'objet JS. De plus, si la chaîne au format JSON est comme ci-dessus, l'objet js converti ne peut pas utiliser jsObj4.f[name] pour la valeur de f[name]. name]'] car il y a des caractères spéciaux. Cela doit être noté pour moi. Si les lecteurs ont des objections, vous pouvez me les soumettre
Jetons un coup d'œil à la conversion des objets js et des chaînes au format JSON dans. js. Ci-dessous, j'ai préparé plusieurs ensembles d'objets js pour illustrer :
var JSONStr1 = "{\"f[name]\" : \"张三\"}";
Regardez le contenu de la boîte contextuelle :
(1) 🎜>
<input type="button" value="测试按钮1" onclick="testJson();"/> <script type="text/javascript"> //(1) 这是一个js对象 var jsObj1 = { name : "张三" } //(2)这是一个内部带有方法js对象。 var jsObj2 = { name : "张三", func : function(){ alert("hello"); } } //(3)这是一个符合JSON数据格式的js对象 var jsonObj = { "name" : "张三", "age" : 10, "remark" : {"high" :170,"address" : "beijingshi"} } // js数组对象 var jsArray = [ {name : "张三"}, {"age" : 10} ] function testJson(){ var JSONstr1 = JSON.stringify(jsObj1); var JSONstr2 = JSON.stringify(jsObj2); var JSONstr3 = JSON.stringify(jsonObj); var JSONstr4 = JSON.stringify(jsArray); alert(JSONstr1); alert(JSONstr2); alert(JSONstr3); alert(JSONstr4); }
Pour des articles plus détaillés sur la conversion d'objets js et de chaînes au format JSON en JavaScript, veuillez faire attention au site Web PHP chinois !