window.onload = function(){
var obj = '{
"name" : "Raj",
"age" : 32,
"married" : false
}';
var val = eval('(' + obj + ')');
alert( "name : " + val.name + "\n" +
"age : " + val.age + "\n" +
"married : " + val.married );
}
In einem Code wie diesem versuche ich, eine JSON-Zeichenfolge zu erstellen, um herumzuspielen. Es ist ein Fehler, aber wenn ich den Namen, das Alter und die Ehe in eine einzige Zeile (Zeile 2) schreibe, ist dies nicht der Fall. Was ist das Problem?
javascript
json
indianwebdevil
quelle
quelle
Antworten:
Javascript verarbeitet Strings nicht über mehrere Zeilen.
Sie müssen diese verketten:
Sie können auch Vorlagenliterale in ES6 und höher verwenden: ( Dokumentation finden Sie hier )
quelle
So wie ich es mache ist:
Ich denke, dieser Weg kann die Fehlerwahrscheinlichkeit verringern.
quelle
Die Funktion JSON.stringify verwandelt Ihr JSON-Objekt in eine Zeichenfolge:
Falls der Browser dies nicht implementiert (IE6 / IE7), verwenden Sie das Skript JSON2.js . Es ist sicher, da es die native Implementierung verwendet, falls vorhanden.
quelle
Dies kann ziemlich einfach und unkompliziert sein
quelle
Verwendung
JSON.stringify
:quelle
Ich denke, dieser Weg hilft dir ...
quelle
JSON-Zeichenfolgen dürfen keine Zeilenumbrüche enthalten. Sie müssten alles in einer Zeile machen :
{"key":"val","key2":"val2",etc....}
.Generieren Sie JSON-Zeichenfolgen jedoch nicht selbst. Es gibt viele Bibliotheken, die das für Sie erledigen, von denen die größte jquery ist .
quelle