Maison > interface Web > js tutoriel > La différence et l'utilisation entre json et jsonp

La différence et l'utilisation entre json et jsonp

一个新手
Libérer: 2017-10-02 09:44:22
original
1595 Les gens l'ont consulté

La différence et les diverses utilisations de json et jsonp
Bien qu'il n'y ait qu'une seule lettre de différence entre JSON (JavaScript Object Notation) et JSONP (JSON with Padding), ce n'est en fait pas du tout la même chose : JSON est un type de format d'échange de données, et JSONP est un protocole non officiel d'échange de données entre domaines créé par l'ingéniosité des développeurs. Utilisons le récent film d'espionnage populaire comme analogie. JSON est le « code » utilisé par les partis clandestins pour écrire et échanger des informations, tandis que JSONP est la méthode de connexion utilisée pour transmettre des informations écrites en code à leurs camarades. de l'information, et l'autre est la méthode convenue par les deux parties pour transmettre l'information.
Avantages de JSON :
1. Basé sur du texte brut, la transmission multiplateforme est extrêmement simple ;
2. Javascript est pris en charge de manière native et presque tous les langages backend sont pris en charge ; Format de données léger, occupant des caractères La quantité est très petite, particulièrement adaptée à la livraison sur Internet
4. Bien qu'elle ne soit pas aussi claire que XML, elle est toujours facile à identifier après une indentation raisonnable ; 5. Facile à écrire et à analyser, bien sûr, le principe est que vous devez connaître la structure des données
Bien sûr, JSON a aussi des défauts, mais de l'avis de l'auteur, ils ne sont vraiment pas pertinents, donc ils ne le seront pas ; être expliqué séparément.
Format ou règles JSON :


JSON peut décrire la structure des données d'une manière très simple. Il peut faire tout ce que XML peut faire, il n'y a donc aucune distinction entre les deux en termes de croisement. plate-forme. Tout aussi égal.
1. JSON n'a que deux descripteurs de type de données, les accolades {} et les crochets []. Les deux points anglais restants sont des caractères de mappage, les virgules anglaises sont des délimiteurs et les guillemets doubles anglais "" sont les caractères de mappage. définisseur. 2. Les accolades {} sont utilisées pour décrire un ensemble de « différents types d'ensembles de paires clé-valeur non ordonnées » (chaque paire clé-valeur peut être comprise comme une description d'attribut POO), et les crochets [] sont utilisés pour décrire un ensemble de « Collecte de données ordonnées du même type » (pouvant correspondre à des tableaux POO). 3. S'il y a plusieurs sous-éléments dans les deux ensembles ci-dessus, ils doivent être séparés par des virgules.
4. Les paires clé-valeur sont séparées par deux points anglais :, et il est recommandé d'ajouter les noms de clés avec des guillemets doubles anglais "" pour faciliter l'analyse des différentes langues.
5. Les types de données couramment utilisés dans JSON ne sont rien de plus que des chaînes, des nombres, des booléens, des dates et des valeurs nulles. Les chaînes doivent être placées entre guillemets doubles, et le reste n'est pas utilisé. Je n'entrerai pas dans les détails ici. Oui, je suggère simplement que si le client n'a pas la fonction de trier par date, il suffit de transmettre la date et l'heure directement sous forme de chaîne, ce qui peut éviter bien des problèmes.


Le processus de génération de jsonp :
// 描述一个人 
    var person = {
    "Name": "Bob", "Age": 32, "Company": "IBM", "Engineer": true
}
Copier après la connexion
1. Un problème bien connu, la demande directe Ajax pour les fichiers ordinaires présente le problème de l'accès non autorisé entre domaines, que vous soyez ou non une page statique ou une page Web dynamique, des services Web, WCF, tant qu'il s'agit d'une requête inter-domaines, ce n'est pas autorisé

2. Cependant, nous avons également constaté que lors de l'appel de fichiers js sur la page Web, cela n'est pas affecté par le fait qu'il s'agisse de plusieurs domaines (de plus, nous avons également constaté que toutes les requêtes avec des balises avec l'attribut "src" ont des capacités inter-domaines, telles que

Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal