Beurteilungsmethode: Verwenden Sie zuerst die Anweisung „JSON.parse(str)“, um die angegebene Datenmenge zu analysieren, und verwenden Sie dann die Anweisung „if(typeof obj =='object'&&obj)“, um zu bestimmen, ob der Typ der analysierten Daten vorliegt ist der Typ „object“; wenn ja, liegen die str-Daten im JSON-Format vor.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, JavaScript-Version 1.8.5, Dell G3-Computer.
js bestimmt, ob eine Zeichenfolge im JSON-Format vorliegt
kann nicht einfach verwendet werden, um festzustellen, ob eine Zeichenfolge im JSON-Format vorliegt:
function isJSON(str) { if (typeof str == 'string') { try { JSON.parse(str); return true; } catch(e) { console.log(e); return false; } } console.log('It is not a string!') }
Für Zeichenfolgen im oben genannten try/catch
的确实不能完全检验一个字符串是JSON
-Format gibt es viele Ausnahmen:
JSON.parse('123'); // 123 JSON.parse('{}'); // {} JSON.parse('true'); // true JSON.parse('"foo"'); // "foo" JSON.parse('[1, 5, "false"]'); // [1, 5, "false"] JSON.parse('null'); // null
Wir wissen, dass die Datentypen in JS unterteilt sind in: Zeichenfolge, Zahl, Boolescher Wert, Array, Objekt, Null und Undefiniert.
Wir können die folgende Methode zur Beurteilung verwenden:
function isJSON(str) { if (typeof str == 'string') { try { var obj=JSON.parse(str); if(typeof obj == 'object' && obj ){ return true; }else{ return false; } } catch(e) { console.log('error:'+str+'!!!'+e); return false; } } console.log('It is not a string!') } console.log('123 is json? ' + isJSON('123')) console.log('{} is json? ' + isJSON('{}')) console.log('true is json? ' + isJSON('true')) console.log('foo is json? ' + isJSON('"foo"')) console.log('[1, 5, "false"] is json? ' + isJSON('[1, 5, "false"]')) console.log('null is json? ' + isJSON('null')) console.log('["1{211323}","2"] is json? ' + isJSON('["1{211323}","2"]')) console.log('[{},"2"] is json? ' + isJSON('[{},"2"]')) console.log('[[{},{"2":"3"}],"2"] is json? ' + isJSON('[[{},{"2":"3"}],"2"]'))
Das laufende Ergebnis ist:
> "123 is json? false" > "{} is json? true" > "true is json? false" > "foo is json? false" > "[1, 5, "false"] is json? true" > "null is json? false" > "["1{211323}","2"] is json? true" > "[{},"2"] is json? true" > "[[{},{"2":"3"}],"2"] is json? true"
Daher können wir die folgenden Schlussfolgerungen ziehen:
Die Methode JSON.parse() wird zum Parsen von JSON-Strings verwendet, und json.parse( ) konvertiert Zeichenfolgen in „In JSON-Objekt konvertieren“
Wenn JSON.parse erfolgreich konvertiert werden kann und der konvertierte Typ ein Objekt und nicht gleich Null ist, dann ist diese Zeichenfolge eine Zeichenfolge im JSON-Format.
JSON.parse():
JSON wird normalerweise zum Datenaustausch mit dem Server verwendet.
Beim Empfang von Serverdaten handelt es sich normalerweise um eine Zeichenfolge.
Wir können die Methode JSON.parse() verwenden, um Daten in JavaScript-Objekte zu konvertieren.
Syntax:
JSON.parse(text[, reviver])
Parameterbeschreibung:
Text: erforderlich, eine gültige JSON-Zeichenfolge.
reviver: Optional, eine Funktion, die das Ergebnis umwandelt. Diese Funktion wird für jedes Mitglied des Objekts aufgerufen.
Stellen Sie vor dem Parsen sicher, dass Ihre Daten im Standard-JSON-Format vorliegen, da sonst Parsing-Fehler auftreten.
Weitere Kenntnisse zum Thema Programmierung finden Sie unter: Programmiervideos! !
Das obige ist der detaillierte Inhalt vonWie stellt Javascript fest, ob es im JSON-Format vorliegt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!