0Pricing
Ruby Academy · Leçon

Lire et écrire du JSON

JSON.parse et generate

Lire et écrire du JSON est une leçon Ruby Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Ruby Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Ruby Academy comprend 4 leçons au total.

Qu'est-ce que JSON ?

JSON (JavaScript Object Notation) est un format textuel léger destiné à l'échange de données. Il correspond facilement aux hachages et aux tableaux Ruby.

Chargez la bibliothèque json pour l'utiliser.

require 'json'
data = { name: 'Ruby', year: 1995 }
puts(JSON.generate(data))

Analyser du texte JSON

JSON.parse transforme une chaîne JSON en objets Ruby : les objets deviennent des hachages et les tableaux deviennent des tableaux.

require 'json'
text = '{"name":"Ruby","year":1995}'
h = JSON.parse(text)
puts(h['name'])
puts(h['year'])

Générer du texte JSON

JSON.generate (ou to_json sur les objets) convertit les données Ruby en une chaîne JSON compacte.

require 'json'
arr = [1, 2, { ok: true }]
puts(arr.to_json)

Mise en forme lisible

JSON.pretty_generate produit un JSON indenté et lisible par une personne, idéal pour les fichiers de configuration et le débogage.

require 'json'
data = { name: 'Ruby', tags: ['fun', 'oop'] }
puts(JSON.pretty_generate(data))

Clés symboliques lors de l'analyse

Par défaut, les clés analysées sont des chaînes de caractères. Transmettez symbolize_names: true pour obtenir des clés symboliques à la place.

require 'json'
h = JSON.parse('{"name":"Ruby"}', symbolize_names: true)
puts(h[:name])

Structures imbriquées

JSON prend en charge l'imbrication. L'analyse reconstruit l'arborescence complète des hachages et des tableaux.

require 'json'
text = '{"user":{"name":"Ada","roles":["admin","dev"]}}'
h = JSON.parse(text)
puts(h['user']['name'])
puts(h['user']['roles'][1])

Correspondance des types

Les types JSON correspondent aux types Ruby :

  • objet → hachage, tableau → tableau
  • chaîne → chaîne de caractères, nombre → entier/nombre à virgule flottante
  • vrai/faux → vrai/faux, nul → nil
require 'json'
h = JSON.parse('{"a":1,"b":1.5,"c":null,"d":true}')
puts(h['a'].class)
puts(h['c'].inspect)

Écrire du JSON dans un fichier

Combinez pretty_generate avec File.write pour enregistrer des données sur le disque.

require 'json'
require 'tmpdir'
path = File.join(Dir.tmpdir, 'data.json')
File.write(path, JSON.pretty_generate({ ok: true }))
puts(File.read(path))

Lire du JSON depuis un fichier

Lisez le contenu du fichier et analysez-le en une seule étape.

require 'json'
require 'tmpdir'
path = File.join(Dir.tmpdir, 'cfg.json')
File.write(path, '{"port":8081}')
cfg = JSON.parse(File.read(path))
puts(cfg['port'])

Gérer les erreurs d'analyse

Un JSON mal formé déclenche JSON::ParserError. Interceptez cette erreur pour gérer les données d'entrée incorrectes avec élégance.

require 'json'
begin
  JSON.parse('{not valid}')
rescue JSON::ParserError => e
  puts 'Invalid JSON caught'
end

Conversion aller-retour

Générer des données puis les analyser devrait renvoyer des données équivalentes, ce qui constitue une vérification de cohérence utile.

require 'json'
original = { id: 7, tags: ['a', 'b'] }
back = JSON.parse(original.to_json, symbolize_names: true)
puts(back == original)

Vérification rapide

Quelle option permet à JSON.parse de renvoyer des clés symboliques plutôt que des clés de chaîne de caractères ?

Récapitulatif : lire et écrire du JSON

Vous pouvez faire entrer des données dans JSON et les en extraire :

  • JSON.parse transforme une chaîne en objets Ruby
  • to_json / JSON.generate produisent du JSON compact
  • pretty_generate produit une sortie lisible
  • symbolize_names: true produit des clés symboliques
  • Interceptez JSON::ParserError en cas de données d'entrée incorrectes
require 'json'
puts(JSON.parse('[1,2,3]').sum)

Questions Fréquemment Posées

La leçon « Lire et écrire du JSON » est-elle gratuite ?

Oui — le texte complet de « Lire et écrire du JSON » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Ruby Academy, passe à CoddyKit PRO. Le cours Ruby Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Lire et écrire du JSON » ?

JSON.parse et generate Tu pratiques Ruby Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Ruby Academy ?

Aucune expérience préalable n'est requise. Ruby Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.

Combien de temps prend la leçon « Lire et écrire du JSON » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Ruby Academy ?

Oui. Chaque leçon Ruby Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Lire et écrire du JSON
  2. Utiliser CSV
  3. Configuration YAML
  4. Choisir un format
← Retour à Ruby Academy