Heim Web-Frontend js-Tutorial javascript中JSON.parse()与eval()解析json的区别_javascript技巧

javascript中JSON.parse()与eval()解析json的区别_javascript技巧

May 23, 2016 pm 01:15 PM
javascript 区别 解析json

本文实例讲述了javascript中JSON.parse()与eval()解析json的区别。分享给大家供大家参考,具体如下:

JSON(JavaScript Object Notation)是一种轻量级的数据格式,采用完全独立于语言的文本格式,是理想的数据交换格式。同时,JSON是Javascript原生格式,这意味着在javascript中处理JSON数据

基本格式:

varjsonData='{"data1":"Hello,","data2":"world!"}'

Nach dem Login kopieren

调用方法jsonData.data1,jsonData.data2

很多json数据存入数组

var jsonData=[
 {"name":"LiLei","age":19,"sex":"male"},
 {"name":"HanMei","age":18,"sex":"famale"}
]

Nach dem Login kopieren

调用方法jsonData[0].name,jsonData[1].sex

总体而言,json是相对比较容易的理解和使用的,但同时存在很多的陷阱,如果不注意的话很容易掉进去。

json的的解析方法

json的解析方法共有两种:eval() 和 JSON.parse(),使用方法如下:

var jsonData = '{"data1":"Hello,", "data2":"world!}';
var evalJson=eval('('+jsonData+')');
var jsonParseJson=JSON.parse(jsonData);

Nach dem Login kopieren

这样就把jsonData这个json格式的字符串转换成了JSON对象。

二者的区别如下:

var value = 1;
var jsonstr = '{"data1":"hello","data2":++value}';
var data1 = eval_r('('+jsonstr+')');
console.log(data1);//这时value值为2
var data2=JSON.parse(jsonstr);
console.log(data2);//报错
Nach dem Login kopieren

可以看到控制输出台的结果,第一个eval()顺利执行,第二个报错了。从上例就可以明显地看出,eval在解析字符串时,会执行该字符串中的代码(这样的后果是相当恶劣的),如上例中,由于用eval解析一个json字符串而造成原先的value的值改变。

《高性能Javascript》(本站下载地址:http://www.jb51.net/books/36680.html)一书即指出:

警告:关于JSON和eval需要注意的是:在代码中使用eval是很危险的,特别是用它执行第三方的JSON数据(其中可能包含恶意代码)时,尽可能使用JSON.parse()方法解析字符串本身。该方法可以捕捉JSON中的语法错误,并允许你传入一个函数,用来过滤或转换解析结果。如果此方法以备Firfox 3.5 、IE8 及 Safari 4 原生支持。大多数javascript类库包含的JSON解析代码会直接调用原生版本,如果没有原生支持的话,会调用一个略微不那么强大的非原生版本来处理。

更多关于JavaScript相关内容可查看本站专题:《JavaScript中json操作技巧总结》、《JavaScript切换特效与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript动画特效与技巧汇总》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结

希望本文所述对大家JavaScript程序设计有所帮助。

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Warum wird Bittensor als 'Bitcoin' in der KI -Strecke gesagt? Warum wird Bittensor als 'Bitcoin' in der KI -Strecke gesagt? Mar 04, 2025 pm 04:06 PM

Original -Titel: Bittensor = Aibitcoin? Bittensor nimmt ein Subnetzmodell an, das die Entstehung verschiedener KI -Lösungen ermöglicht und Innovation durch Tao -Token inspiriert. Obwohl der KI -Markt ausgereift ist, steht Bittensor mit wettbewerbsfähigen Risiken aus und kann anderen Open Source unterliegen

Gibt es einen Unterschied zwischen südkoreanischer Bitcoin und inländischer Bitcoin? Gibt es einen Unterschied zwischen südkoreanischer Bitcoin und inländischer Bitcoin? Mar 05, 2025 pm 06:51 PM

Der Bitcoin Investment Boom erhitzt sich weiter. Obwohl China einst der größte Markt für Bitcoin war, haben die politischen Auswirkungen zu Transaktionsbeschränkungen geführt. Heute ist Südkorea zu einem der wichtigsten Bitcoin -Märkte der Welt geworden und veranlasst Anleger, die Unterschiede zwischen ihm und seinem inländischen Bitcoin in Frage zu stellen. Dieser Artikel wird eine eingehende Analyse der Unterschiede zwischen den Bitcoin-Märkten der beiden Länder durchführen. Analyse der Unterschiede zwischen Südkorea und China Bitcoin -Märkten. Zum Beispiel war Ende Oktober 2024 der Preis für Bitcoin in Südkorea einst

Vertikaler Proxy: Anwendungsszenarien und Interpretation des disruptiven Potenzials von nativem Verschlüsselungsträger Vertikaler Proxy: Anwendungsszenarien und Interpretation des disruptiven Potenzials von nativem Verschlüsselungsträger Mar 04, 2025 am 10:21 AM

Künstliche Intelligenz -Agenten (AIAGENTS) integrieren sich schnell in den täglichen Betrieb von Unternehmen, von großen Unternehmen bis zu kleinen Unternehmen. Fast alle Bereiche haben begonnen, um Vertrieb, Marketing, Finanzen, Recht, IT, Projektmanagement, Logistik, Kundendienst und Workflow -Automatisierung zu verwenden. Wir bewegen uns aus einer Zeit der manuellen Verarbeitung von Daten, der Ausführung wiederholter Aufgaben und verwenden Excel -Tabellen bis zu einer Zeit des autonomen Betriebs durch AI -Agenten rund um die Uhr, was nicht nur die Effizienz verbessert, sondern auch die Kosten erheblich reduziert. Anwendungsfall von AI -Agenten in Web2: Perspektive von Ycombinator: Ein Tool für Verkaufs- und Marketingoptimierung, das die KI- und SMS -Technologie kombiniert. Bildai: Ein Modell, das architektonische Blaupausen lesen kann,

Was ist der Unterschied zwischen der alten Version von Sesam Open Door Gate und der neuen Version? Was ist der Unterschied zwischen der alten Version von Sesam Open Door Gate und der neuen Version? Mar 04, 2025 pm 01:33 PM

Der Artikel führt den Unterschied zwischen der alten Version der Sesam Open Door Gate.IO -Handelsplattform und der neuen Version vor. In Bezug auf das Schnittstellendesign hat die neue Version das Layout und den modernen und einfachen visuellen Stil optimiert. Die tatsächlichen Unterschiede müssen jedoch durch den spezifischen Aktualisierungsinhalt der Plattform bestimmt werden.

Welchen Austausch ist Nexo? Welchen Austausch ist Nexo? Mar 05, 2025 pm 07:39 PM

Nexo: Es ist nicht nur ein Kryptowährungsaustausch, sondern auch Ihr digitaler Finanzmanager. Es ermöglicht Benutzern, Kredite in Kryptowährung als Sicherheiten zu erhalten und Dienstleistungen bereitzustellen, um Zinsen zu verdienen. Während Nexo auch Kryptowährungs -Kauf-, Verkaufs- und Einlösungsfähigkeiten anbietet, ist das Kerngeschäft die Krypto -Kreditvergabe. In diesem Artikel wird das Betriebsmodell und die Sicherheit von Nexo eingehend untersucht, um den Anlegern ein umfassenderes Verständnis zu vermitteln. Das Betriebsmodell von Nexo wurde im Jahr 2018 gegründet und hat seinen Hauptsitz in Zug, Schweiz, und ist ein Pionier auf dem Gebiet der digitalen Finanzen. Es unterscheidet sich von anderen zentralen Börsen und konzentriert sich mehr auf die Bereitstellung umfassender Finanzdienstleistungen. Benutzer können Kryptowährungen kaufen, verkaufen, handeln, ohne Vermögenswerte zu verkaufen und

Der Unterschied zwischen Ether und Bitcoin, was ist der Unterschied zwischen Ether und Bitcoin Der Unterschied zwischen Ether und Bitcoin, was ist der Unterschied zwischen Ether und Bitcoin Mar 19, 2025 pm 04:54 PM

Der Unterschied zwischen Ethereum und Bitcoin ist signifikant. Technisch gesehen verwendet Bitcoin POW, und Ether hat sich von POW nach POS verlagert. Die Handelsgeschwindigkeit ist für Bitcoin langsam und Ethereum ist schnell. In Anwendungsszenarien konzentriert sich Bitcoin auf den Zahlungsspeicher, während Ether intelligente Verträge und DApps unterstützt. In Bezug auf die Ausgabe beträgt der Gesamtbetrag von Bitcoin 21 Millionen und es gibt keine feste Gesamtmenge an Ethermünzen. Jede Sicherheitsherausforderung ist verfügbar. In Bezug auf den Marktwert ist Bitcoin an erster Stelle, und die Preisschwankungen beider sind groß, aber aufgrund unterschiedlicher Merkmale ist der Preistrend von Ethereum einzigartig.

Ist Bitcoin -Spekulation eine Aktienspekulation? Warum? Was sind die Unterschiede zwischen den beiden? Ist Bitcoin -Spekulation eine Aktienspekulation? Warum? Was sind die Unterschiede zwischen den beiden? Mar 05, 2025 pm 02:24 PM

Bitcoin: Digital Gold- oder Aktienhandelsderivate? Eingehende Analyse der Art seiner Investition. In diesem Artikel wird eingehend von den Aspekten der Definition, der Natur, der Ausgabemechanismus usw. diskutiert und das Geheimnis von Bitcoin-Investitionen enthüllt. Bitcoin und Aktien: Der wesentliche Unterschied zwischen Bitcoin und Aktien ist: Die Investition in Bitcoin ist nicht dasselbe wie die Investition in Aktien. Bitcoin ist eine dezentrale digitale Währung, die zu der Kategorie der digitalen Vermögenswerte oder virtuellen Vermögenswerte gehört. Dieses Konzept wurde 2009 von Satoshi Nakamoto vorgeschlagen. Im Gegensatz zu herkömmlichen Währungen,,

Was ist der Unterschied zwischen Bohnenbrot und Deepseek Was ist der Unterschied zwischen Bohnenbrot und Deepseek Mar 12, 2025 pm 01:24 PM

Der Kernunterschied zwischen Bohnenbrötchen und Deepseek ist die Genauigkeit und Komplexität der Wiederholung. 1. Doubao basiert auf dem Schlüsselwort, einfach und direkt, mit geringen Kosten, aber geringer Genauigkeit und ist nur für strukturierte Daten geeignet. Die endgültige Auswahl hängt vom Anwendungsszenario und den Ressourcenbeschränkungen ab.

See all articles