Heim > Web-Frontend > js-Tutorial > Hauptteil

2 Möglichkeiten zum Konvertieren von Zeichenfolgen in JSON in JavaScript_Javascript-Kenntnissen

WBOY
Freigeben: 2016-05-16 15:53:03
Original
1168 Leute haben es durchsucht

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:

Code kopieren Der Code lautet wie folgt:

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

Code kopieren Der Code lautet wie folgt:

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

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!