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