Maison > interface Web > js tutoriel > Qu'est-ce que JSON ?

Qu'est-ce que JSON ?

Barbara Streisand
Libérer: 2024-09-21 06:30:18
original
462 Les gens l'ont consulté

What is JSON?

Travailler avec JSON

Si vous êtes développeur, il y a de fortes chances que vous ayez entendu parler de JSON (JavaScript Object Notation). Il y en a partout ! Des API aux fichiers de configuration, JSON est le format incontournable pour échanger des données. Mais comment pouvons-nous l'utiliser dans Node.js ? Décomposons-le en termes simples, avec quelques exemples concrets pour vous aider tout au long du processus.


Qu’est-ce que JSON ?

En termes simples, JSON est un format de stockage et d'échange de données. Il est facile à lire et à écrire, ce qui le rend très populaire pour le développement Web. Cela ressemble à ceci :

{
  "name": "Alice",
  "age": 25,
  "city": "Wonderland"
}
Copier après la connexion

Il s'agit essentiellement d'une collection de paires clé-valeur, comme un objet JavaScript. Mais n'oubliez pas : JSON n'est que du texte : il doit être transformé en objet pour être utile dans votre code.


Analyser JSON dans Node.js

Commençons par prendre une chaîne JSON et la convertir en quelque chose avec lequel nous pouvons travailler : un objet JavaScript. Nous faisons cela en utilisant JSON.parse().

Exemple : Analyse JSON

const jsonString = '{"name": "Alice", "age": 25, "city": "Wonderland"}';
const jsonObject = JSON.parse(jsonString);

console.log(jsonObject.name); // Output: Alice
Copier après la connexion

Cela prend une chaîne JSON, l'analyse et la transforme en objet JavaScript. Vous pouvez désormais accéder à ses propriétés comme le nom, l'âge ou la ville.


Conversion d'objets en JSON

Et si vous devez envoyer vos données au format JSON ? C'est là qu'intervient JSON.stringify(). Il prend votre objet JavaScript et le transforme en chaîne JSON.

Exemple : Conversion d'un objet en JSON

const user = {
  name: "Alice",
  age: 25,
  city: "Wonderland"
};

const jsonString = JSON.stringify(user);
console.log(jsonString);
// Output: {"name":"Alice","age":25,"city":"Wonderland"}
Copier après la connexion

C'est très utile lorsque vous créez des API ou stockez des données au format JSON.


Lecture et écriture de fichiers JSON dans Node.js

Besoin de travailler avec des fichiers JSON ? Node.js facilite la tâche avec le module fs (File System). Vous pouvez lire et écrire des fichiers JSON sans trop de tracas.

Exemple : Lecture d'un fichier JSON

const fs = require('fs');

fs.readFile('data.json', 'utf8', (err, data) => {
  if (err) {
    console.error(err);
    return;
  }
  const jsonData = JSON.parse(data);
  console.log(jsonData);
});
Copier après la connexion

Ici, nous utilisons fs.readFile() pour lire le fichier JSON, puis analysons le contenu du fichier dans un objet JavaScript. Vous pouvez désormais faire ce que vous voulez avec les données !

Exemple : écriture dans un fichier JSON

const fs = require('fs');

const user = {
  name: "Alice",
  age: 25,
  city: "Wonderland"
};

fs.writeFile('output.json', JSON.stringify(user, null, 2), (err) => {
  if (err) {
    console.error(err);
    return;
  }
  console.log('Data saved to output.json');
});
Copier après la connexion

Dans ce cas, JSON.stringify() transforme l'objet en une belle chaîne JSON formatée et fs.writeFile() l'enregistre dans un fichier. Facile !


Envoi et réception de JSON avec des requêtes HTTP

Lors de la création d'API, JSON est le format de choix pour l'envoi et la réception de données. Dans Express.js, vous pouvez envoyer et recevoir des données JSON sans effort.

Exemple : Envoi de JSON dans une réponse

const express = require('express');
const app = express();

app.get('/user', (req, res) => {
  const user = { name: "Alice", age: 25, city: "Wonderland" };
  res.json(user);
});

app.listen(3000, () => console.log('Server running on port 3000'));
Copier après la connexion

Ici, nous envoyons un objet JSON en réponse à une requête HTTP GET. C'est aussi simple que d'appeler res.json() !

Exemple : Réception de JSON dans une requête

app.use(express.json()); // Middleware to parse JSON body

app.post('/user', (req, res) => {
  const user = req.body;
  console.log(user); // Output: { name: "Alice", age: 25, city: "Wonderland" }
  res.send('User received!');
});
Copier après la connexion

Dans cet exemple, nous utilisons le middleware express.json() pour analyser automatiquement les données JSON entrantes du corps de la requête, les transformant en un objet JavaScript que nous pouvons utiliser.


Gestion des erreurs JSON

Et si vous obtenez de mauvaises données JSON ? Pas de soucis : Node.js intègre une gestion des erreurs. Voyons comment détecter ces erreurs.

Exemple : Gestion des erreurs d'analyse

const faultyJson = '{"name": "Alice", "age": 25'; // Oops, missing closing bracket

try {
  const jsonObj = JSON.parse(faultyJson);
} catch (error) {
  console.error('Failed to parse JSON:', error.message);
}
Copier après la connexion

Si le JSON est cassé, JSON.parse() générera une erreur. Dans ce cas, le bloc try-catch nous aide à le gérer avec élégance.


Conclusion

JSON est un incontournable si vous travaillez avec des données dans Node.js. Que vous analysiez, créiez, lisiez ou envoyiez des données JSON, les méthodes intégrées de Node.js simplifient les choses. Utilisez JSON.parse() pour transformer des chaînes en objets, JSON.stringify() pour aller dans l'autre sens et Express.js pour une gestion fluide de JSON dans votre API.

Maîtrisez à l'aise avec JSON et vous disposerez de l'un des outils les plus précieux de votre boîte à outils de développement !


Références :

  1. Documentation Node.js : Travailler avec JSON
  2. Guide Express.js : Gestion des requêtes JSON
  3. Documents Web MDN : JSON.parse()

Merci d'avoir lu et bon codage ! ?

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal