Académique Documents
Professionnel Documents
Culture Documents
DONNÉES
QU’EST CE QUE JSON
118
QU’EST CE QU’UN FICHIER JSON
{"key1":"value1","key2":"value2","key3":"value3"}
120
TYPES DE VALEURS EN JSON
JSON dispose de :
4 types primitifs : les nombres, les textes, les booléens, la valeur null ;
2 types structurants : les objets et les tableaux.
121
TYPES DE VALEURS EN JSON…
122
TYPES DE VALEURS EN JSON…
123
{
"reference" : "prod01",
TYPES "name":
DE VALEURS
"Monica EN JSON
Side : EXEMPLE
Wingback Chair, Pink",
"stockQte" : 20,
"unitPrice":200.500,
"image" :"images/pinkChair.png",
"category" : "Chairs",
"comments": [
{
"rating": 5,
"comment": "I think its great. Great value for the price",
"date": "2020-12-31"
},
{
"rating": 4,
"comment": "Its sturdy, color is great, and smaller like we wanted. ",
"date": "2021-09-25"
}
]
}
124
CONSIGNES POUR UTILISER JSON
Un objet JSON est uniquement un format de données — il ne contient que des propriétés
mais pas de méthodes.
La notation JSON nécessite l'usage des guillemets pour être valide utiliser des guillemets
et non les apostrophes autour des chaînes de caractères et des noms de propriétés.
Une simple virgule ou un double point mal placé peut rendre votre fichier JSON invalide et
non fonctionnel (utiliser une application comme JSONLint pour valider le code JSON).
Dans l'absolu, le JSON peut prendre la forme de n'importe quel type de données qui serait
valide pour être contenu dans du JSON et non juste des tableaux ou des objets. Ainsi, par
exemple, une simple chaîne de caractères ou un nombre serait un objet JSON valide.
Contrairement au JavaScript dans lequel les propriétés (keys) non entourées de guillemets
peuvent être utilisées, en JSON, seules les chaînes de caractères entourées de guillemets
peuvent être utilisées en tant que propriétés.
125
JSON ET JAVASCRIPT
Plusieurs langages proposent aujourd’hui des outils pour faire la passerelle entre le
langage en question et JSON.
En JavaScript, on possède ainsi un objet JSON. L’objet JavaScript global JSON possède
deux méthodes pour interpréter du JSON et convertir des valeurs en JSON les
méthodes parse() et stringify().
La méthode parse() analyse une chaîne de caractères JSON et construit la valeur
JavaScript ou l’objet décrit par cette chaîne JSON.parse()
La méthode stringify() convertit une valeur JavaScript en chaîne JSON JSON.stringify()
126
JSON ET JAVASCRIPT
<!DOCTYPE html>
<html>
<body>
<h3>Exemple utilisation de Json.stringify</h3>
<p id="prod"></p>
<script>
const product = {reference: "prod02", name: "Mainstays Wood Rectangle Coffee Table",
stockQte: 50,unitPrice: 120.750,};
const jsProd = JSON.stringify(product);
document.getElementById("prod").innerHTML = jsProd;
</script>
</body></html>
127
JSON ET JAVASCRIPT
<!DOCTYPE html>
<html>
<body>
<h3>Exemple utilisation de Json.stringify</h3>
<p id="prod"></p>
<script>
const jsProd = '{"reference" : "prod02","name": "Mainstays Wood Rectangle Coffee
Table","stockQte" : 50,"unitPrice":120.750}';
const product = JSON.parse(jsProd);
document.getElementById("prod").innerHTML = "Name:<b
style='color:red;'>"+product.name+"</b>";
</script>
</body></html>
128
JSON ET PHP
129
JSON ET PHP
130
JSON ET PHP
En PHP, la fonction json_encode() qui retourne une chaîne de caractères contenant la
représentation JSON de la valeur value. Si le paramètre est un tableau ou un objet, il sera
sérialisé de manière récursive.
<?php
$obj = new stdClass();
$obj->reference = "prod02";
$obj->name = "Mainstays Wood Rectangle Coffee Table";
$obj->stockQte = 50;
$obj->unitPrice = 120.750;
$json = json_encode($obj,JSON_FORCE_OBJECT);
var_dump($json);
?>
131
JSON ET PYTHON
De JSON à PYTHON De PYTHON à JSON
import json
import json
# un objet Python (dict):
# un objet JSON: x = {
x = '{"reference" : "prod02","name": "reference": "prod02",
"Mainstays Wood Rectangle Coffee Table", "name": "Mainstays Wood
"stockQte" : 50,"unitPrice":120.750}' Rectangle Coffee Table",
"stockQte": 50,
# parse x: "unitPrice": 120.750,
y = json.loads(x) }
JSON a gagné en popularité en tant que support de stockage pour les applications Web en
raison de sa simplicité. En revanche, XML reste le choix privilégié pour la transmission de
données structurées sur le Web.
Dans JSON, seuls les types de données suivants sont pris en charge : chaîne de caractères,
nombre, booléen et null. Par contre, en XML, de nombreux autres types, comme la date et
l'heure, peuvent être utilisés pour décrire les données.
Il n'existe aucune règle sur ce qui peut être utilisé comme valeur ou comme nom d'attribut
dans JSON.
134
JSON VS XML : SIMILITUDES
JSON et XML sont tous deux des formats autodescriptifs: Les formats autodescriptifs
ont été conçus pour être lisibles par l'homme, inscriptibles par l'homme, lisibles par
la machine et inscriptibles par la machine.
JSON et XML offrent tous deux un bon support pour la définition et la validation du
contenu.
JSON et XML peuvent être utilisés pour la sérialisation des données (conversion
d'une structure de données en un format de stockage ou de transmission). Cela
signifie que vous pouvez les utiliser pour transmettre des informations d'une
application ou d'un système à un autre via un canal de communication tel que HTTP
ou SOAP (protocole d'accès simple aux objets).
135
JSON VS XML : SIMILITUDES…
JSON et XML sont basées sur du texte. C'est pourquoi beaucoup pensent que JSON a
été créé pour être une alternative plus simple à XML.
Les deux formats ont des structures hiérarchiques où chaque champ a son nom et sa
valeur séparés par des virgules.
136
JSON
{
"reference" : "prod01",
TYPES "name":
DE VALEURS
"Monica EN JSON
Side : EXEMPLE
Wingback Chair, Pink",
"stockQte" : 20,
"unitPrice":200.500,
"image" :"images/pinkChair.png",
"category" : "Chairs",
"comments": [
{
"rating": 5,
"comment": "I think its great. Great value for the price",
"date": "2020-12-31"
},
{
"rating": 4,
"comment": "Its sturdy, color is great, and smaller like we wanted. ",
"date": "2021-09-25"
}
]
}
137
XML
<product>
<refrence>prod01</refrence>
TYPES<name>Monica
DE VALEURS ENWingback
Side JSON :Chair,
EXEMPLE
Pink</name>
<stockQte>20</stockQte>
<unitPrice>200.500</unitPrice>
<image>images/pinkChair.png</image>
<category>Chairs</category>
<comments>
<item>
<rating>5</rating>
<comment>I think its great. Great value for the price</comment>
<date>2020-12-31</date>
</item>
<item>
<rating>4</rating>
<comment>Its sturdy, color is great, and smaller like we wanted.</comment>
<date>2021-09-25</date>
</item>
</comments>
</product>
138