Tutoriel JSON : Apprendre avec un EXEMPLE de format de fichier simple

Qu'est-ce que JSON?

JSON est un format de fichier utilisรฉ pour stocker des informations de maniรจre organisรฉe et facile d'accรจs. Sa forme complรจte est JavaNotation d'objet de script. Il offre une collection de donnรฉes lisibles par l'homme et accessibles de maniรจre logique. Son extension de nom de fichier pour le code de programmation รฉcrit est .json. Le type de mรฉdia Internet pour JSON est application/json et son identifiant de type uniforme est public.json.

Pourquoi utiliser JSON ?

Voici les avantages/avantages importants de lโ€™utilisation de JSON :

  • Fournir un support pour tous les navigateurs
  • Facile ร  lire et ร  รฉcrire
  • Syntaxe simple
  • Vous pouvez analyser nativement JavaScript utilisant la fonction eval()
  • Facile ร  crรฉer et ร  manipuler
  • Soutenu par tous les grands JavaCadres de script
  • Pris en charge par la plupart des technologies backend
  • JSON est reconnu nativement par Javascรฉnario
  • Il vous permet de transmettre et de sรฉrialiser des donnรฉes structurรฉes ร  l'aide d'une connexion rรฉseau.
  • Vous pouvez l'utiliser avec des langages de programmation modernes.
  • JSON est un texte qui peut รชtre converti en n'importe quel objet de JavaScript en JSON et envoie ce JSON au serveur.

Histoire de JSON

Histoire de JSON
Tutoriel JSON

Voici les jalons importants qui forment lโ€™histoire de JSON :

  • Douglas Crockford a spรฉcifiรฉ le format JSON au dรฉbut des annรฉes 2000.
  • Le site officiel a รฉtรฉ lancรฉ en 2002.
  • En dรฉcembre 2005, Yahoo! commence ร  proposer certains de ses services Web en JSON.
  • JSON est devenu une norme internationale ECMA en 2013.
  • La norme de format JSON la plus mise ร  jour a รฉtรฉ publiรฉe en 2017.

Caractรฉristiques de JSON

Facile ร  utiliser โ€“ L'API JSON offre une faรงade de haut niveau, qui vous aide ร  simplifier les cas d'utilisation couramment utilisรฉs.

Performances โ€“ JSON est assez rapide car il consomme trรจs moins dโ€™espace mรฉmoire, ce qui est particuliรจrement adaptรฉ aux grands graphiques ou systรจmes dโ€™objets.

Outil gratuit โ€“ La bibliothรจque JSON est open source et gratuite.

Ne nรฉcessite pas de crรฉer un mappage โ€“ L'API Jackson fournit un mappage par dรฉfaut pour de nombreux objets ร  sรฉrialiser.

Nettoyer le JSON โ€“ Crรฉe un rรฉsultat JSON propre et compatible, facile ร  lire.

Dรฉpendance โ€“ La bibliothรจque JSON ne nรฉcessite aucune autre bibliothรจque pour le traitement.

Rรจgles pour la syntaxe JSON

Les rรจgles de syntaxe JSON sont :

  • Les donnรฉes doivent รชtre dans des paires nom/valeur
  • Les donnรฉes doivent รชtre sรฉparรฉes par des virgules
  • Les accolades doivent contenir des objets
  • Les crochets contiennent des tableaux

Types de donnรฉes en JSON

Les types de donnรฉes importants utilisรฉs dans JSON sont :

Type de donnรฉes Description
Numรฉro Il comprend un nombre rรฉel, un entier ou un nombre flottant
Chaรฎne Il se compose de n'importe quel texte ou Unicode entre guillemets avec un รฉchappement de barre oblique inverse.
Boolean Le type de donnรฉes boolรฉen reprรฉsente des valeurs vraies ou fausses
Null La valeur Null indique que la variable associรฉe n'a aucune valeur
Exlcusion Il sโ€™agit dโ€™une collection de paires clรฉ-valeur toujours sรฉparรฉes par une virgule et placรฉes entre accolades.
tableau C'est une sรฉquence ordonnรฉe de valeurs sรฉparรฉes.

Numรฉro

  • Le nombre est un format ร  virgule flottante double prรฉcision qui dรฉpend de sa mรฉthode d'implรฉmentation.
  • En JSON, vous ne pouvez pas utiliser les formats hexadรฉcimal et octal.

Le tableau suivant affiche les types de numรฉros :

Type Description
Entier Numรฉros 1-9 et 0. Nombres positifs et nรฉgatifs.
Fraction Fractions comme 3
Exposant Exposant comme e, e+

syntaxe:

var json-object-name = { string : number_value,......}

Exemple :

var obj = {salary: 2600}

Chaรฎne

Il s'agit d'une sรฉrie de caractรจres Unicode entre guillemets doubles et avec une barre oblique inverse qui s'รฉchappe.

Le tableau suivant prรฉsente diffรฉrents types de chaรฎnes :

Type Description
* Utiliser pour la saisie de guillemets doubles
/ Utiliser pour solidus
\ Utiliser pour le solidus inversรฉ
B Utiliser pour ajouter un espace arriรจre
F ร€ partir du flux
N Pour crรฉer une nouvelle ligne
R Utiliser pour le retour chariot
T Pour afficher l'onglet horizontal
U Chiffres hexadรฉcimaux

syntaxe:

var json-object-name = { string : "string value",โ€ฆ..}

Exemple :

var obj= {name: 'Andy'}

Boolean

Il stocke uniquement les valeurs vraies ou fausses.

syntaxe:

var json-object-name = {string : true/false, โ€ฆ..}

Exemple :

var obj = {active: 'true'}

tableau

  • C'est une collection ordonnรฉe de valeurs.
  • Vous devez utiliser un tableau lorsque les noms de clรฉs sont des entiers sรฉquentiels.
  • Il doit รชtre placรฉ entre crochets qui doivent รชtre sรฉparรฉs par ',' (virgule)

syntaxe:

[value, .......]

Exemple :

Affichage d'un tableau stockant plusieurs objets :

{
   "eBooks":[
      {
         "language":"Pascal",
         "edition":"third"
      },
      {
         "language":"Python",
         "edition":"four"
      },
      {
         "language":"SQL",
         "edition":"second"
      }
   ]
}

Objet JSON

A Objet JSON est une entitรฉ en JSON qui est placรฉe entre accolades. Il est รฉcrit dans l'ensemble non ordonnรฉ de paires nom et valeur dans lequel le nom doit รชtre suivi de ยซ : ยป (deux-points) et les paires nom/valeur doivent รชtre sรฉparรฉes par ยซ ยป, (virgule). Il peut รชtre utilisรฉ lorsque les noms de clรฉs sont des chaรฎnes arbitraires.

syntaxe:

{ string :  value, โ€ฆ.. }

Exemple :

{
"id": 110,
"language": "Python",
"price": 1900,
}

Espace blanc

Vous pouvez insรฉrer des espaces entre une paire de jetons.

Exemple :

syntaxe:

{string:"    ",โ€ฆ.}

Exemple :

var a = " Alex"; var b = "Steve";

Exemple de JSON

L'exemple de code donnรฉ dรฉfinit comment utiliser JSON pour stocker les informations liรฉes ร  livres de programmation avec l'รฉdition et le nom de l'auteur.

{
   "book":[
      {
         "id":"444",
         "language":"C",
         "edition":"First",
         "author":"Dennis Ritchie "
      },
      {
         "id":"555",
         "language":"C++",
         "edition":"second",
         "author":" Bjarne Stroustrup "
      }
   ]
}  

Comprenons le format JSON avec un autre exemple de fichier JSON. Ici, JSON dรฉfinit le prรฉnom, le nom et l'identifiant d'un รฉtudiant.

{
  "student": [ 
	
     { 
        "id":"01", 
        "name": "Tom", 
        "lastname": "Price" 
     }, 
	
     { 
        "id":"02", 
        "name": "Nick", 
        "lastname": "Thameson" 
     } 
  ]   
}

Application de JSON

Voici quelques applications courantes de JSON :

  • Vous aide ร  transfรฉrer des donnรฉes depuis un serveur
  • Un exemple de format de fichier JSON permet de transmettre et de sรฉrialiser tous les types de donnรฉes structurรฉes.
  • Vous permet d'effectuer des appels de donnรฉes asynchrones sans avoir besoin d'actualiser la page
  • Vous aide ร  transmettre des donnรฉes entre un serveur et des applications Web.
  • Il est largement utilisรฉ pour JavaApplication basรฉe sur des scripts, qui comprend une extension de navigateur et des sites Web.
  • Vous pouvez transmettre des donnรฉes entre le serveur et l'application Web ร  l'aide de JSON.
  • Nous pouvons utiliser JSON avec des langages de programmation modernes.
  • Il est utilisรฉ pour รฉcrire JavaApplications basรฉes sur des scripts qui incluent des modules complรฉmentaires de navigateur.
  • Les services Web et les API Restful utilisent le format JSON pour obtenir des donnรฉes publiques.

JSON contre XML

Voici la principale diffรฉrence entre JSON et XML

JSON XML
L'objet JSON a un type XML les donnรฉes sont sans type
Types JSON : chaรฎne, nombre, tableau, boolรฉen Toutes les donnรฉes XML doivent รชtre une chaรฎne
Les donnรฉes sont facilement accessibles sous forme d'objets JSON Les donnรฉes XML doivent รชtre analysรฉes.
Les fichiers JSON sont plus lisibles par l'homme. Les fichiers XML sont moins lisibles par l'homme.
JSON est pris en charge par la plupart des navigateurs. L'analyse XML entre navigateurs peut รชtre dรฉlicate
JSON n'a aucune capacitรฉ d'affichage. XML offre la possibilitรฉ d'afficher des donnรฉes car il s'agit d'un langage de balisage.
Rรฉcupรฉrer de la valeur est facile Rรฉcupรฉrer de la valeur est difficile
Pris en charge par de nombreuses boรฎtes ร  outils Ajax Pas entiรจrement pris en charge par la boรฎte ร  outils Ajax
Une maniรจre entiรจrement automatisรฉe de dรฉsรฉrialiser/sรฉrialiser JavaScรฉnario. Les dรฉveloppeurs doivent รฉcrire JavaCode de script pour sรฉrialiser/dรฉsรฉrialiser ร  partir de XML
Prise en charge native de l'objet. L'objet doit รชtre exprimรฉ par des conventions โ€“ principalement une utilisation manquรฉe des attributs et des รฉlรฉments.

Exemple JSON

Vous trouverez ci-dessous un exemple JSON simple :

{
  "student": [ 
	
     { 
        "id":"01", 
        "name": "Tom", 
        "lastname": "Price" 
     }, 
	
     { 
        "id":"02", 
        "name": "Nick", 
        "lastname": "Thameson" 
     } 
  ]   
}

Exemple XML

<?xml version="1.0" encoding="UTF-8" ?>
<root>
	<student>
		<id>01</id>
		<name>Tom</name>
		<lastname>Price</lastname>
	</student>
	<student>
		<id>02</id>
		<name>Nick</name>
		<lastname>Thameson</lastname>
	</student>
</root>

Quโ€™est-ce que JSON nโ€™est pas ?

  • L'exemple de fichier de donnรฉes JSON n'est pas un format de document.
  • Ce n'est pas un langage de balisage.
  • JSON ne fournit pas de format de sรฉrialisation gรฉnรฉral.
  • Il ne sโ€™agit pas de structures rรฉcurrentes ou cycliques.
  • Ce nโ€™est pas non plus une structure invisible.

Inconvรฉnients de JSON

Voici quelques avantages de JSON :

  • Pas de prise en charge des espaces de noms, donc une faible extensibilitรฉ
  • ร‰dition outils de dรฉveloppement soutenez
  • Pas de prise en charge de la dรฉfinition de la grammaire formelle

Outils JSON populaires (modules complรฉmentaires)

Voici les outils JSON importants :

JSONLint :

JSONLint est un projet open source utilisรฉ comme validateur et reformateur pour JSON. Il s'agit d'un format lรฉger d'รฉchange de donnรฉes. Copiez et collez, saisissez directement ou saisissez l'URL dans l'outil de validation JSON pour valider votre code JSON.

Lien : https://jsonlint.com

ร‰diteur JSON en ligne :

JSON Editor Online est un outil Web utile. Il vous permet de modifier, d'afficher et de formater JSON. Il affiche vos donnรฉes cรดte ร  cรดte de maniรจre claire et modifiable. logiciel รฉditeur de code.

Lien : https://jsoneditoronline.org/

Outil de rรฉduction JSON :

C'est un outil qui vous aide ร  supprimer les espaces et donne un code JSON qui prend le moins de place.

Lien : https://www.browserling.com/tools/json-minify

Convertisseur JSON en XML :

Le convertisseur JSON en XML est un outil simple et efficace qui vous aide ร  convertir votre code JSON.

Lien : https://codebeautify.org/jsontoxml

Formateur JSON :

Le formateur JSON vous aide ร  rรฉsoudre le problรจme en formatant les donnรฉes JSON afin qu'elles soient faciles ร  lire et ร  dรฉboguer par un humain.

Lien :https://jsonformatter.curiousconcept.com/

Rรฉsumรฉ

  • La mรฉthode JSON est utilisรฉe pour stocker les informations de maniรจre organisรฉe et facile d'accรจs.
  • JSON signifie JavaNotation d'objet de script.
  • JSON Fournit la prise en charge de toutes les offres de navigateurs dans de nombreuses langues.
  • Douglas Crockford a spรฉcifiรฉ le format JSON au dรฉbut des annรฉes 2000
  • L'API JSON offre une faรงade de haut niveau, qui vous aide ร  simplifier les cas d'utilisation couramment utilisรฉs
  • Les rรจgles importantes pour l'รฉcriture du systรจme JSON sont que les donnรฉes doivent รชtre รฉcrites dans des paires nom/valeur.
  • Number, String, Boolean, Null, Object et Array sont des types de donnรฉes importants utilisรฉs dans JSON.
  • Il vous aide ร  transfรฉrer des donnรฉes depuis un serveur.
  • L'objet JSON a un type alors que les donnรฉes XML sont sans type
  • JSON n'est pas un format de document
  • Pas de prise en charge des espaces de noms, donc une faible extensibilitรฉ
  • JSONLint est un projet open source utilisรฉ comme validateur et reformateur pour JSON.

Rรฉsumez cet article avec :