Heim  >  Artikel  >  Web-Frontend  >  Detaillierte Erläuterung der gegenseitigen Konvertierung zwischen js-Objekten und JSON-Formatzeichenfolgen in JavaScript

Detaillierte Erläuterung der gegenseitigen Konvertierung zwischen js-Objekten und JSON-Formatzeichenfolgen in JavaScript

高洛峰
高洛峰Original
2017-02-17 16:32:531177Durchsuche

Dieser Artikel stellt hauptsächlich die gegenseitige Konvertierung von JS-Objekten und JSON-Formatzeichenfolgen in JavaScript vor. Interessierte Freunde können darauf verweisen.

Werfen wir zunächst einen Blick auf die Zeichenfolgen im JSON-Format in js

var JSONStr1 = "{\"name\" : \"张三\"}";

Beachten Sie, dass es sich bei der folgenden Schreibweise nicht um die Zeichen handelt Im JSON-Format in js String ist es nur ein js-String.

var JSONStr2 = "{'name' : '张三'}";

Schauen wir uns die Definition von String in der JSON-Syntax an: ist eine Sammlung einer beliebigen Anzahl von Unicode-Zeichen, umgeben von Double Anführungszeichen, Backslash-Escapezeichen verwenden. Ein Zeichen ist eine einzelne Zeichenfolge.

Sehen wir uns an, wie man eine JSON-Formatzeichenfolge in ein JS-Objekt in js konvertiert. (

var jsObj3 = eval("(" + JSONStr1 + ")");
var jsObj4 = JSON.parse(JSONStr1);

Spezifische Gründe, warum die Verwendung der zweiten Methode empfohlen wird, finden Sie unter: http://www.php.cn/

Außerdem möchte ich erwähnen, dass das mit diesen beiden Methoden konvertierte js-Objekt „ein js-Objekt sein sollte, das dem JSON-Datenformat entspricht“, was bedeutet, dass seine Attribute in Anführungszeichen stehen Teil, denn wenn das JSON-Format Die Zeichenfolge kann durch Buchstaben, Zahlen, Unterstriche und $-Symbole dargestellt werden. Bei Verwendung anderer Symbolattribute müssen Anführungszeichen hinzugefügt werden, sodass es nicht falsch ist, den Attributen in JS Anführungszeichen hinzuzufügen Wenn die Zeichenfolge im JSON-Format wie oben gezeigt ist, kann das konvertierte js-Objekt nicht jsObj4.f[name] für den Wert von f[name] verwenden ]'] Da es Sonderzeichen gibt, sollte dies für mich beachtet werden. Wenn Leser Einwände haben, können Sie diese an mich senden.

Schauen wir uns die Konvertierung von js-Objekten und JSON-Formatzeichenfolgen in js an . Unten habe ich mehrere Sätze von js-Objekten zur Veranschaulichung vorbereitet:

var JSONStr1 = "{\"f[name]\" : \"张三\"}";

Sehen Sie sich den Inhalt des Popup-Felds an:

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

  }

Die Ausführungsergebnisse (1), (3) und (4) zeigen an, dass der JSON-Parser die Funktion stringify() nicht verwendet Legen Sie Einschränkungen fest, ob das js-Objekt dem JSON-Format entspricht. Das Ausführungsergebnis von

(2) zeigt, dass das js-Objekt keine JSON-Darstellung enthält . Werte (wie Funktionen und undefiniert) werden ausgeschlossen

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass er für das Lernen aller hilfreich ist, und ich hoffe, dass Sie die PHP-Chinese-Website unterstützen .

Detaillierte Erläuterung der gegenseitigen Konvertierung zwischen js-Objekten und JSON-Formatzeichenfolgen in JavaScript Ausführlichere Artikel zur Konvertierung von JS-Objekten und JSON-Formatzeichenfolgen in JavaScript finden Sie auf der chinesischen PHP-Website Detaillierte Erläuterung der gegenseitigen Konvertierung zwischen js-Objekten und JSON-Formatzeichenfolgen in JavaScript!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn