Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
slam:donneestructurees:le_format_json_1 [2024/12/20 11:04] – créée dthevenot | slam:donneestructurees:le_format_json_1 [2024/12/20 11:11] (Version actuelle) – [Chargements asynchrones] dthevenot | ||
---|---|---|---|
Ligne 17: | Ligne 17: | ||
Un fichier au format JSON a pour extension " | Un fichier au format JSON a pour extension " | ||
+ | |||
+ | ===== Syntaxe ===== | ||
+ | |||
+ | Un fichier JSON simple | ||
+ | < | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ==== Règles syntaxiques ==== | ||
+ | - Il ne doit exister qu'un seul élément père par document contenant tous les autres : un élément racine. | ||
+ | - Tout fichier JSON bien formé doit être soit un objet (commençant par " | ||
+ | - Les séparateurs utilisés entre deux paires/ | ||
+ | - Un objet JSON peut contenir d' | ||
+ | - Il ne peut y avoir d' | ||
+ | |||
+ | ==== Éléments du format JSON ==== | ||
+ | |||
+ | Il existe deux types d' | ||
+ | |||
+ | - Des couples de type " | ||
+ | - Des listes de valeurs, comme les tableaux utilisés en programmation. | ||
+ | |||
+ | ==== Valeurs possibles ==== | ||
+ | |||
+ | - Primitifs : nombre, booléen, chaîne de caractères, | ||
+ | - Tableaux : Liste de valeurs (tableaux et objets aussi autorisés) entrées entre crochets, séparées par des virgules. | ||
+ | - Objets : Listes de couples " | ||
+ | |||
+ | ==== Exemple:Une structure JSON plus complexe ==== | ||
+ | < | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | ] | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ===== Principaux usages de JSON ===== | ||
+ | ==== Chargements asynchrones ==== | ||
+ | |||
+ | Avec la montée en flèche des chargements asynchrones tels que l'AJAX (Asynchronous JavaScript And XML) dans le web actuel (qui ne provoquent pas le rechargement total de la page), il est devenu de plus en plus important de pouvoir charger des données organisées, | ||
+ | |||
+ | Le format JSON s'est montré adapté à ce type de besoins car il est léger, et indépendant des langages qui l' | ||
+ | |||
+ | **Exemple: | ||
+ | * https:// | ||
+ | |||
+ | ==== Les APIs ==== | ||
+ | |||
+ | Des sociétés telles que Twitter, Facebook ou LinkedIn, offrent essentiellement des services basés sur l' | ||
+ | |||
+ | Alors qu'il n'y a pas de domination totale d'un des deux formats (JSON ou XML) dans le domaine des APIs, on constate toutefois que JSON est en train de prendre le pas là où le format XML avait été pionnier : ce dernier est encore le plus utilisé, mais le JSON se démocratise très rapidement dans ce domaine. | ||
+ | |||
+ | **Exemple: | ||
+ | * Twitter : https:// | ||
+ | * Netatmo : https:// | ||
+ | |||
+ | ==== Les bases de données ==== | ||
+ | |||
+ | Le JSON s' | ||
+ | |||
+ | Une base de données de type " | ||
+ | |||
+ | Les plus connues sont MongoDB, CouchDB, et Riak : Ces trois exemples sont basés sur un stockage de données au format JSON. | ||
+ | |||
+ | On notera également qu'il est possible de soumettre des requêtes à MySQL, et de récupérer une réponse en JSON. Il en est de même pour Postgres, et d' | ||
+ | |||
+ | **Exemple: | ||
+ | * Fonctons PostgreSQL : http:// | ||
+ | * Fonctions MySQL : https:// | ||
+ | |||
+ |