Erster Weg:
Verwenden Sie die js-Funktion eval();
testJson=eval(testJson); ist die falsche Konvertierungsmethode.
Die richtige Konvertierungsmethode erfordert das Hinzufügen von (): testJson = eval("(" testJson ")");
eval() ist sehr schnell, kann aber jedes JavaScript-Programm kompilieren und ausführen, sodass es Sicherheitsprobleme geben wird. Verwendung von eval(). Die Quelle muss vertrauenswürdig sein. Es muss ein sichererer JSON-Parser verwendet werden. Wenn der Server den JSON-Code nicht streng codiert oder die Eingabe nicht streng validiert ist, ist es möglich, ungültigen JSON-Code bereitzustellen oder gefährliche Skripte zu enthalten, das Skript in eval() auszuführen und bösartigen Code freizugeben.
JS-Code:
Funktion ConvertToJsonForJs() {
//var testJson = "{ name: 'Xiaoqiang', age: 16 }" (Unterstützt)
//var testJson = "{ 'name': 'Xiaoqiang', 'age': 16 }" (Unterstützt)
var testJson = '{ "name": "Xiaoqiang", "age": 16 }';
//testJson=eval(testJson);//Falsche Konvertierungsmethode
testJson = eval("(" testJson ")");
alarm(testJson.name);
}
Die zweite Methode verwendet die Methode jquery.parseJSON(), die höhere Anforderungen an das JSON-Format stellt und dem JSON-Format entsprechen muss
jquery.parseJSON()
js:code
Funktion ConvertToJsonForJq() {
var testJson = '{ "name": "Xiaoqiang", "age": 16 }';
// Weiß nicht
//'{ Name: "Xiaoqiang", Alter: 16 }' (Name wird nicht in doppelte Anführungszeichen gesetzt)
//"{ 'name': "Xiaoqiang", 'age': 16 }" (Name verwendet einfache Anführungszeichen)
testJson = $.parseJSON(testJson);
alarm(testJson.name);
}
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