Heim > Web-Frontend > js-Tutorial > Der Unterschied und die Verwendung zwischen JSON und JSONP

Der Unterschied und die Verwendung zwischen JSON und JSONP

一个新手
Freigeben: 2017-10-02 09:44:22
Original
1568 Leute haben es durchsucht

Der Unterschied und die verschiedenen Verwendungen von json und jsonp
Obwohl es nur einen Buchstabenunterschied zwischen JSON (JavaScript Object Notation) und JSONP (JSON with Padding) gibt, sind sie eigentlich überhaupt nicht dasselbe: JSON ist ein Eine Art Datenaustauschformat, und JSONP ist ein inoffizielles domänenübergreifendes Datenaustauschprotokoll, das durch den Einfallsreichtum von Entwicklern entwickelt wurde. Nehmen wir als Vergleich den jüngsten beliebten Spionagefilm. JSON ist der „Code“, den Untergrundparteien zum Schreiben und Austauschen von Informationen verwenden, während JSONP die Verbindungsmethode ist, mit der in Code geschriebene Informationen an ihre Kameraden übertragen werden der Informationen, und das andere ist die von beiden Parteien vereinbarte Methode zur Übermittlung der Informationen.
Vorteile von JSON:
1. Basierend auf Klartext ist die plattformübergreifende Übertragung extrem einfach
2. Javascript wird nativ unterstützt und fast alle Backend-Sprachen werden unterstützt; Leichtes Datenformat, belegte Zeichen. Die Menge ist sehr gering und eignet sich besonders für die Internetübermittlung. Obwohl es nicht so klar ist wie XML, ist es nach angemessener Einrückung dennoch leicht zu identifizieren 5. Einfach zu schreiben und zu analysieren ist natürlich die Voraussetzung, dass Sie die Datenstruktur kennen müssen.
Natürlich weist JSON auch Mängel auf, aber nach Meinung des Autors sind sie wirklich irrelevant, also wird dies nicht der Fall sein gesondert erläutert werden.
JSON-Format oder -Regeln:


JSON kann die Datenstruktur auf sehr einfache Weise beschreiben. Es kann alles, was XML kann, daher gibt es keinen Unterschied zwischen den beiden im Hinblick auf die Überschneidung. Plattform. Gleichermaßen gleich.
1. JSON hat nur zwei Datentypdeskriptoren, geschweifte Klammern {} und eckige Klammern []. Definierer.
2. Geschweifte Klammern {} werden verwendet, um einen Satz „verschiedener Arten ungeordneter Schlüssel-Wert-Paarsätze“ zu beschreiben (jedes Schlüssel-Wert-Paar kann als OOP-Attributbeschreibung verstanden werden), und eckige Klammern [] werden verwendet um eine Reihe von „geordneten Datensammlungen desselben Typs“ zu beschreiben (die OOP-Arrays entsprechen können). 3. Wenn in den beiden oben genannten Sätzen mehrere Unterelemente vorhanden sind, sollten diese durch Kommas getrennt werden. 4. Die Schlüssel-Wert-Paare werden durch einen englischen Doppelpunkt getrennt: und es wird empfohlen, die Schlüsselnamen mit englischen doppelten Anführungszeichen „“ hinzuzufügen, um die Analyse verschiedener Sprachen zu erleichtern.
5. Häufig verwendete Datentypen in JSON sind nichts anderes als Zeichenfolgen, Zahlen, Boolesche Daten und Null. Zeichenfolgen müssen in doppelte Anführungszeichen gesetzt werden, der Rest wird nicht verwendet. Der Datumstyp ist also etwas ganz Besonderes Ich werde hier nicht auf Details eingehen. Ja, ich schlage nur vor, dass, wenn der Client nicht über die Funktion zum Sortieren nach Datum verfügt, das Datum und die Uhrzeit einfach direkt als Zeichenfolge übergeben werden, was eine Menge Ärger ersparen kann.



Der Generierungsprozess von JSONP:

1. Ein bekanntes Problem: Die direkte Ajax-Anfrage für normale Dateien hat das Problem des domänenübergreifenden unbefugten Zugriffs, unabhängig davon, ob Sie es sind eine statische Seite oder eine dynamische Webseite, Webdienste, WCF, solange es sich um eine domänenübergreifende Anfrage handelt, ist dies nicht zulässig
// 描述一个人 
    var person = {
    "Name": "Bob", "Age": 32, "Company": "IBM", "Engineer": true
}
Nach dem Login kopieren
2. Wir haben jedoch auch festgestellt, dass beim Aufrufen von js-Dateien auf der Webseite es wird nicht davon beeinflusst, ob es domänenübergreifend ist (nicht nur das, wir haben auch festgestellt, dass alle Anfragen mit Tags mit dem Attribut „src“ über domänenübergreifende Funktionen verfügen, wie z. B.
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage