0Pricing
Ruby Academy · Lezione

Leggere e scrivere JSON

JSON.parse e generate

Leggere e scrivere JSON è una lezione Ruby Academy gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Ruby Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Ruby Academy include 4 lezioni in totale.

Che cos'è JSON?

JSON (JavaScript Object Notation) è un formato testuale leggero per lo scambio di dati. Si mappa facilmente su hash e array Ruby.

Richieda la libreria json per utilizzarlo.

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

Analizzare testo JSON

JSON.parse trasforma una stringa JSON in oggetti Ruby: gli oggetti diventano Hashes e gli array diventano Arrays.

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

Generare testo JSON

JSON.generate (oppure to_json sugli oggetti) converte i dati Ruby in una stringa JSON compatta.

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

Formattazione leggibile

JSON.pretty_generate produce JSON rientrato e leggibile, ideale per i file di configurazione e il debugging.

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

Chiavi Symbol durante l'analisi

Per impostazione predefinita, le chiavi analizzate sono String. Passi symbolize_names: true per ottenere invece chiavi Symbol.

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

Strutture annidate

JSON supporta l'annidamento. L'analisi ricostruisce l'intero albero di Hashes e Arrays.

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

Mappatura dei tipi

I tipi JSON corrispondono ai tipi Ruby:

  • oggetto → Hash, array → Array
  • stringa → String, numero → Integer/Float
  • true/false → true/false, null → nil
require 'json'
h = JSON.parse('{"a":1,"b":1.5,"c":null,"d":true}')
puts(h['a'].class)
puts(h['c'].inspect)

Scrivere JSON in un file

Combini pretty_generate con File.write per salvare i dati su disco.

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

Leggere JSON da un file

Legga il contenuto del file e lo analizzi in un solo passaggio.

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'])

Gestire gli errori di analisi

Un JSON malformato genera JSON::ParserError. Lo gestisca con Rescue per trattare l'input non valido in modo appropriato.

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

Percorso di andata e ritorno

Generare e poi analizzare i dati dovrebbe restituire dati equivalenti: è un utile controllo di coerenza.

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

Verifica rapida

Quale opzione fa sì che JSON.parse restituisca chiavi Symbol invece di chiavi String?

Riepilogo: leggere e scrivere JSON

È possibile trasferire dati da e verso JSON:

  • JSON.parse converte una stringa in oggetti Ruby
  • to_json / JSON.generate producono JSON compatto
  • pretty_generate produce un output leggibile
  • symbolize_names: true produce chiavi Symbol
  • Gestisca JSON::ParserError in caso di input non valido
require 'json'
puts(JSON.parse('[1,2,3]').sum)

Domande Frequenti

La lezione «Leggere e scrivere JSON» è gratuita?

Sì — il testo completo di «Leggere e scrivere JSON» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Ruby Academy, passa a CoddyKit PRO. Il corso Ruby Academy include 4 lezioni in totale.

Cosa imparerò in «Leggere e scrivere JSON»?

JSON.parse e generate Eserciti Ruby Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Ruby Academy?

Non è richiesta alcuna esperienza precedente. Ruby Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.

Quanto tempo richiede la lezione «Leggere e scrivere JSON»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Ruby Academy?

Sì. Ogni lezione Ruby Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Leggere e scrivere JSON
  2. Lavorare con CSV
  3. Configurazione YAML
  4. Scegliere un formato
← Torna a Ruby Academy