Maison > interface Web > js tutoriel > Explication détaillée de la conversion mutuelle entre les objets js et les chaînes au format JSON en JavaScript

Explication détaillée de la conversion mutuelle entre les objets js et les chaînes au format JSON en JavaScript

高洛峰
Libérer: 2017-02-17 16:32:53
original
1233 Les gens l'ont consulté

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\" : \"张三\"}";
Copier après la connexion

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' : '张三'}";
Copier après la connexion

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);
Copier après la connexion

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]\" : \"张三\"}";
Copier après la connexion

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);

  }
Copier après la connexion

L'exécution les résultats de (1), (3) et (4) indiquent que l'analyseur JSON La fonction stringify() fait n'impose pas de restrictions sur la conformité de l'objet js au format JSON. Il peut convertir l'objet js en une chaîne au format JSON. Le résultat de l'exécution de

(2) montre que s'il n'y a pas de représentation JSON dans le js. Les valeurs (telles que les fonctions et les valeurs non définies) seront exclues.

Ce qui précède est l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'apprentissage de tout le monde et j'espère que vous prendrez en charge PHP chinois.

Explication détaillée de la conversion mutuelle entre les objets js et les chaînes au format JSON en JavaScript 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 Explication détaillée de la conversion mutuelle entre les objets js et les chaînes au format JSON en JavaScript !

É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