RFC 7159 - The JavaScript Object Notation (JSON) Data Interchange Format
- Statut: Proposed Standard
- Publié: March 2014
- Stream: IETF
- Remplace: RFC4627, RFC7158
- Remplacé par: RFC8259
- Errata: Pas d'errata
Résumé (Abstract)
JavaScript Object Notation (JSON) est un format d'échange de données léger, basé sur du texte et indépendant du langage. Il provient du standard du langage de programmation ECMAScript. JSON définit un petit ensemble de règles de formatage pour la représentation portable de données structurées.
Ce document élimine les incohérences avec d'autres spécifications JSON, corrige les erreurs de spécification et fournit des directives d'interopérabilité basées sur l'expérience.
Concepts fondamentaux de JSON
Types de données
JSON prend en charge les types de données suivants:
Types primitifs (Primitive Types):
string- Chaîne de caractèresnumber- Nombreboolean- Booléen (true/false)null- Valeur nulle
Types structurés (Structured Types):
object- Objet (collection non ordonnée de paires clé-valeur)array- Tableau (séquence ordonnée de valeurs)
Exemples de syntaxe
Objet (Object):
{
"name": "张三",
"age": 30,
"city": "北京"
}
Tableau (Array):
[1, 2, 3, 4, 5]
Structure imbriquée:
{
"users": [
{"name": "Alice", "age": 25},
{"name": "Bob", "age": 30}
],
"total": 2
}
Changements principaux par rapport à RFC 4627
- Définition de texte JSON plus souple: Permet au texte JSON d'être n'importe quelle valeur JSON, pas seulement des objets ou des tableaux
- Corrections d'erreurs: Corrige les erreurs signalées dans RFC 4627
- Directives d'interopérabilité: Fournit plus de conseils sur l'interopérabilité de l'implémentation
- Clarté de l'encodage: Met l'accent sur l'utilisation de l'encodage UTF-8
Ressources connexes (Related Resources)
- Texte original officiel: RFC 7159 (TXT)
- Page officielle: RFC 7159 DataTracker
- Rend obsolète: RFC 4627 (ancienne spécification JSON)
- Rendu obsolète par: A été remplacé par RFC 8259
- Type de média:
application/json - Extension de fichier:
.json
Référence rapide
Type MIME
Content-Type: application/json; charset=UTF-8
Outils couramment utilisés
Validation en ligne:
Support des langages de programmation:
JavaScript:
const obj = JSON.parse('{"name":"Alice"}');
const str = JSON.stringify({name: "Bob"});
Python:
import json
obj = json.loads('{"name":"Alice"}')
str = json.dumps({"name": "Bob"})
Java:
// Avec la bibliothèque Jackson ou Gson
ObjectMapper mapper = new ObjectMapper();
MyObject obj = mapper.readValue(jsonString, MyObject.class);
Note importante: RFC 7159 a été remplacé par RFC 8259, mais reste un document important pour comprendre l'historique de l'évolution de JSON. Les applications modernes devraient se référer à RFC 8259 comme norme actuelle.