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); }
Ausführlichere Artikel zur Konvertierung von JS-Objekten und JSON-Formatzeichenfolgen in JavaScript finden Sie auf der chinesischen PHP-Website !