Heim > Artikel > Web-Frontend > JSON muss Postscript kennen und verstehen
Begriffe
Portabilität
Kompatibilität der Informationsübertragung zwischen Plattformen und Systemen.
JSON
JavaScriptObjectNotation-Objektnotation.
Datenaustauschformat
Text, der zum Austausch von Daten zwischen verschiedenen Plattformen oder Systemen verwendet wird.
Literal
Ein Wert, dessen wörtliche Bedeutung genau mit dem übereinstimmt, was er ausdrücken möchte.
Variable
wird durch einen Bezeichner in Form von X dargestellt und ist ein Werttyp, der geändert werden kann.
Maximale Portabilität
Bietet Portabilität über das Datenformat selbst hinaus, indem die Kompatibilität der Daten selbst mit Plattformen und Systemen sichergestellt wird.
Name-Wert-Paare
beziehen sich auf Attribute und Merkmale, die Namen und entsprechende Werte haben (auch Schlüssel-Wert-Paare genannt).
Syntaxüberprüfung
JSON-Formatüberprüfung.
Konsistenzüberprüfung
Konzentrieren Sie sich auf die Überprüfung der eindeutigen Datenstruktur.
String-Typ in JSON
Ein String-Wert, wie zum Beispiel „Du bist ein guter Mensch“, eingeschlossen in doppelte Anführungszeichen.
Konzept
JSON ist ein Datenaustauschformat.
JSON ist unabhängig von der Programmiersprache.
JSON basiert auf der wörtlichen Darstellung von JavaScript-Objekten (der Schwerpunkt liegt auf der Darstellung).
Die Art und Weise, wie JSON Daten ausdrückt, ist für gängige Programmierkonzepte geeignet.
JSON basiert auf der Syntax von JavaScript-Objektliteralen zur Darstellung von Eigenschaften, umfasst jedoch nicht die funktionsbezogenen Teile von JavaScript-Objektliteralen.
In JSON-Name-Wert-Paaren wird der Name immer in doppelte Anführungszeichen gesetzt.
JSON-Name-Wert-Paar, der Wert kann eine Zeichenfolge, eine Zahl, ein boolescher Wert, null oder ein Objektarray sein.
Listen von Name-Wert-Paaren in JSON werden immer in geschweifte Klammern eingeschlossen.
Mehrere Name-Wert-Paare in JSON werden durch Kommas getrennt.
JSON-Dateien verwenden die Erweiterung .json.
Der Medientyp von JSON ist application/json.
Die booleschen Werte in JSON sind nur wahr und falsch, und alle Buchstaben müssen Kleinbuchstaben sein.
Alle Buchstaben des Nullwerts in JSON müssen Kleinbuchstaben sein, was auf einen Nullwert hinweist.
Zahlentyp in JSON, ein numerischer Wert, z. B. 66, kann eine positive Ganzzahl, eine negative Ganzzahl, eine Dezimalzahl oder ein Exponent sein.
Der Hauptunterschied zwischen Objekten und Arrays besteht darin, dass Objekte Listen oder Sammlungen von Name-Wert-Paaren sind und Arrays Listen und Sammlungen von Werten sind.
Ein weiterer wesentlicher Unterschied zwischen Objekten und Arrays besteht darin, dass alle Werte in einem Array denselben Datentyp haben sollten.
Begriffe
Array in JSON
Ein Array ist eine Sammlung oder Liste von Werten. Jeder Wert kann eine Zeichenfolge, eine Zahl, ein Boolescher Wert, ein Objekt oder ein Array sein. Arrays müssen in [] eingeschlossen und durch Kommas getrennt werden.
Objekttypen in JSON
Objekttypen sind eine Sammlung von Name-Wert-Paaren, die durch Kommas getrennt und mit {} umschlossen sind.
JSON-Schema
Ein virtueller Vertrag im Datenaustausch.
Server (in der Webentwicklung)
Eine Reihe von Vorgängen, die auf dem Server ausgeführt werden, wenn Webressourcen angefordert werden. Der Server stellt dem Internetbrowser Antworten zur Verfügung, die dieser verarbeitet und lädt.
Client (in der Webentwicklung)
Eine Reihe von Vorgängen, die beim Laden der vom Browser angeforderten Schnittstelle ausgeführt werden und sich normalerweise auf HTML, CSS und JavaScript beziehen.
Konzept
Der JSON-Validator ist für die Überprüfung von Syntaxfehlern verantwortlich, und das JSON-Schema ist für die Konsistenzüberprüfung verantwortlich.
JSONSchema ist die erste Verteidigungslinie für den Datenempfang. Es ist auch ein gutes Tool für Datensender, um Zeit zu sparen und die Datengenauigkeit sicherzustellen.
JSONSchema kann die folgenden Probleme bei der Konsistenzüberprüfung lösen
1. Ist der Datentyp des Werts korrekt? Sie können angeben, dass ein Wert vom Typ Zahl, Zeichenfolge usw. ist.
2. Enthält es die erforderlichen Daten? Sie können festlegen, welche Daten erforderlich sind und welche nicht.
3. Liegt der Wert in der Form vor, die ich benötige? Sie können einen Bereich, einen Mindestwert und einen Höchstwert angeben.
JSON selbst stellt keine Bedrohung dar, es ist nur Text.
Beim Auffinden von JSON-Sicherheitsproblemen sollten Sie die folgenden drei Dinge beachten:
1. Arrays der obersten Ebene sind zulässige JavaScript-Skripte ;script>-Tag Link und Verwendung.
2. Für Ressourcen, die nicht öffentlich gemacht werden sollen, darf nur die HTTPPost-Methode angefordert werden, nicht die Get-Methode. Die get-Methode kann über die URL angefordert oder sogar im Skript-Tag platziert werden.
3. Verwenden Sie JSON.parser() anstelle von eval(). Die Funktion eval() kompiliert und führt den eingehenden String aus, wodurch Ihr Code anfällig für Angriffe wird. Sie sollten nur JSON.parser() zum Parsen verwenden JSON-Daten.
Sicherheitslücken werden oft dadurch verursacht, dass Entwickler nicht darüber nachdenken, wie Hacker diese ausnutzen könnten.
Die Beziehung zwischen XMLHTTPRequest und WEBAPI von JavaScript ist die Beziehung zwischen dem Client und dem Server.
XMLHTTPRequest ist nicht auf XML beschränkt, Sie können es auch zum Anfordern von JSON-Ressourcen verwenden
Der Begriff
Cross-Site Request Forgery (CSRF)
bezieht sich auf die Ausnutzung des Vertrauens der Site im Browser des Benutzers.
JSON-Array der obersten Ebene
Ein JSON-Array oben im Dokument, das außerhalb von JSON-Name-Wert-Paaren vorhanden ist.
Injektionsangriffe
Ein Angriff, der auf der Injektion von Daten in eine Webanwendung beruht, um die Ausführung oder Kompilierung schädlicher Daten zu erleichtern.
JSON-Cross-Site-Scripting-Angriff
Ein Injektionsangriff auf die Website, bei dem auf der Website verwendeter Code von Drittanbietern abgefangen oder durch bösartige Skripte ersetzt wird.
webApi
Eine Reihe von Anweisungen und Standards für die Interaktion mit Diensten über HTTP.
XMLHTTPRequest
Ein JavaScript-Objekt, das Daten von einer URL abrufen kann, ohne die Seite zu aktualisieren. Es wird häufig in der AJAX-Programmierung verwendet.
Hypertext Transfer Protocol (HTTP)
Grundlegendes Protokoll für den Datenaustausch im World Wide Web
Serialisierung
Der Vorgang der Umwandlung von Objekten in Text
Deserialisierung Transformieren
Der Vorgang des Konvertierens von Text in Objekte.
Konzept
Websites dienen Menschen, WebAPI dient Code und beide verwenden das HTTP-Protokoll.
Die Same-Origin-Richtlinie erschwert die Client-Server-Kommunikation von JavaScript- und JSON-Ressourcen.
Der domänenübergreifende XMLHTTPRequest des Clients erfordert Serverunterstützung, um den Erfolg der JSON-Ressourcenanforderung sicherzustellen.
jQuery ist ein Abstraktionstool, das JSON-Anfrage- und Parsing-Funktionen bereitstellt, die die Entwicklungszeit verkürzen können. Es löst auch browserübergreifende Kompatibilitätsprobleme.
Das Konzept von AngularJS MVC
JSON ist ein Modell||Datenmodell
HTML ist eine Ansicht und stellt Syntax für die Bindung mit dem Modell bereit
Controller sind AngularJS-Syntax zum Definieren und Betrieb mit JavaScript Dateien für die Interaktion zwischen Modellen und Ansichten.
AngularJS bringt JavaScript-Objekte und JSON in der MVC-Architektur zum Leuchten.
In einer relationalen Datenbank gibt es häufig Tabellenspalten, Zeilen und Beziehungen zwischen ihnen, in denen Primärschlüssel und Fremdschlüssel verwendet werden.
Es gibt viele Arten von NoSQL-Datenbanken und sie verfügen über andere Methoden zur Datenspeicherung und -nutzung als das traditionelle relationale Modell.
Wichtige Konzepte der CouchDB-Datenbank
1. Es handelt sich um eine dokumentenorientierte NoSQL-Datenbank
2. Sie speichert und verwaltet JSON-Dokumente
3. Sie verwaltet Daten beim Speichern und Abrufen. Gute Daten Struktur
4. Es wird eine HTTP-basierte API verwendet, um Daten als JSON-Dokumentressource abzurufen
5. Es verwendet JavaScript als Abfragesprache und ruft Daten über APIs über die Karten- und Reduzierungsmethoden der Ansicht ab.
Auf der Serverseite kann JSON in Objekte deserialisiert und in der Programmierlogik verwendet werden, oder Objekte können in das JSON-Format serialisiert werden.
JSON wird sowohl vom Server als auch vom Client gut unterstützt und hebt sich dadurch von vielen Austauschdatenformaten im Webbereich ab.
Bedingungen
Same Origin Policy
Aus Sicherheitsgründen fordert der Browser nur Skripte von derselben Domäne an.
Domänenübergreifende Ressourcenfreigabe CORS
Durch Festlegen des Antwortheaders können domänenübergreifende Anforderungen erfolgreich sein.
JSON-p
Verwenden Sie das Skript-Tag, um die Einschränkungen der Same-Origin-Richtlinie zu umgehen und JSON von Servern mit unterschiedlichen Domänennamen anzufordern.
Abstraktion
Eine Technologie für den Umgang mit komplexen Systemen. Die Hauptidee besteht darin, ein großes Problem in mehrere kleine Probleme umzuwandeln
Framework
Eine Technologie, die Zeit sparen kann und gemacht hat Wir konzentrieren uns mehr auf die Entwicklung abstrakter Werkzeuge für die Funktionalität.
Jquery.parserJSON()
Eine JQuery-Funktion, die nicht nur die Funktion JSON.parser() aufruft, sondern auch mit alten Browsern kompatibel ist, die die Funktion JSON.parser() nicht unterstützen, und übergibt das Prüfzeichen zur Auswertung der Zeichenfolge und vermeidet so mögliche Sicherheitsprobleme.
jquery.getJSON()
Die Kurzform der Funktion jquery.ajax(), die die Funktion zum Parsen von JSON in ein JavaScript-Objekt umfasst.
Einzelseitige Webanwendung
Anders als beim herkömmlichen mehrseitigen Ansatz konzentrieren sich Webseiten auf die Bereitstellung eines nahtloseren Anwendungserlebnisses.
Model-View-Controller (MVC)
Ein Anwendungsarchitekturmuster, das die Anwendung in drei Teile unterteilt: Modell (Daten), Ansicht (Präsentation) und Controller (Modell und Ansicht aktualisieren))
AngularJS
Ein JavaScriptMVC-Framework, das JavaScript-Objekte als Datenmodelle verwendet.
Relationale Datenbank
Eine Datenbank, die gespeicherte Daten strukturiert unter Verwendung identifizierbarer Beziehungen speichert.
NoSQL-Datenbank
Eine Datenbank, die keine Beziehungen durch Speichern von Daten speichert.
CouchDB
Ein dokumentorientierter NoSQL-Datenbankspeichertyp, der JSON-Dokumente zum Speichern von Daten verwendet.
ASP.NET
Serverseitiges Web-Framework, entwickelt von Microsoft
PHP
Serverseitige Skriptsprache zum Erstellen dynamischer Webseiten
Ruby on Rails
Serverseitiges Webanwendungs-Framework geschrieben in Ruby
Node.js
Serverseitiges JavaScript basierend auf der Google V8-Engine.
Java
Eine objektorientierte Programmiersprache.
JSON dient auch als statische Konfigurationsdatei
Bei der Überlegung, welches Datenformat verwendet werden soll, sollten sowohl die Form der Daten als auch das System zum Austausch der Daten berücksichtigt werden. ! ! ! JSON ist nicht immer die beste Wahl.