Le format de structuration de données JSON

Requêter un fichier JSON en JavaScript

Question

Créez un fichier JSON simple contenant votre nom, votre prénom et votre adresse.

Solution

Exemple

1
{
2
"nom":"Crozat",
3
"prenom":"Stéphane",
4
"age":"40"
5
}

Question

Faites fonctionner, testez et analysez le code JavaScript ci-après, expliquer ce qu'il fait.

1
function query() {
2
// File	
3
var vFile = document.getElementById("myfile").files[0];
4
// Reader
5
var vReader = new FileReader();
6
vReader.readAsText(vFile);
7
vReader.onload = function(pEvent) {
8
    // String Input
9
    var vContent = pEvent.target.result;   
10
    // JSON to object
11
    var vJson = JSON.parse(vContent);    
12
    // Query
13
    var vResult = "QUERY YOUR JSON HERE TO BUILD YOUR RESULT"
14
    // Output
15
    document.getElementById("mydiv").appendChild(document.createTextNode(vResult));
16
};
17
}
1
<html>
2
<head>
3
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
4
<title>Démo JSON/JavaScript</title>
5
<script type="text/javascript" src="query.js"></script>
6
</head>
7
<body>
8
<input type="file" id="myfile" onchange="query()"/>
9
<div id="mydiv"/>
10
</body>
11
</html>

Question

En complétant la fonction query() ci-avant, affichez dans la page HTML votre prénom, suivi de votre nom et de votre age entre parenthèse.

Solution

Exemple

1
function query() {
2
// File	
3
var vFile = document.getElementById("myfile").files[0];
4
// Reader
5
var vReader = new FileReader();
6
vReader.readAsText(vFile);
7
vReader.onload = function(pEvent) {
8
    // String Input
9
    var vContent = pEvent.target.result;   
10
    // JSON to object
11
    var vJson = JSON.parse(vContent);    
12
    // Query
13
    var vResult = vJson.prenom + " " + vJson.nom + " (" + vJson.age + ")";
14
    // Output
15
    document.getElementById("mydiv").appendChild(document.createTextNode(vResult));
16
};
17
}
PrécédentPrécédentSuivantSuivant
AccueilAccueilImprimerImprimer Harold Carrel-Billiard, Maxime Uzan, Cécile Fecherolle, 2013-2016 (Contributions : Stéphane Crozat, les étudiants de NF29) Paternité - Partage des Conditions Initiales à l'IdentiqueRéalisé avec Scenari (nouvelle fenêtre)