0Pricing
Ruby Academy · Ders

JSON Okuma ve Yazma

JSON.parse ve generate

JSON Okuma ve Yazma, CoddyKit'te ücretsiz bir Ruby Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Ruby Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Ruby Academy kursu toplamda 4 dersten oluşur.

JSON Nedir

JSON (JavaScript Nesne Gösterimi), veri alışverişi için kullanılan hafif bir metin biçimidir. Ruby karma tabloları ve dizileriyle kolayca eşleşir.

Kullanmak için json kitaplığını gerektirin.

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

JSON Metnini Ayrıştırma

JSON.parse bir JSON dizesini Ruby nesnelerine dönüştürür: nesneler karma tablolara, diziler ise dizilere dönüşür.

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

JSON Metni Oluşturma

JSON.generate (veya nesneler üzerinde to_json) Ruby verilerini sıkıştırılmış bir JSON dizesine dönüştürür.

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

Okunaklı Biçimde Yazdırma

JSON.pretty_generate insan tarafından okunabilir, girintili JSON üretir; yapılandırma dosyaları ve hata ayıklama için idealdir.

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

Ayrıştırmada Sembol Anahtarları

Varsayılan olarak ayrıştırılan anahtarlar metin dizeleridir. Bunun yerine sembol anahtarları elde etmek için symbolize_names: true geçirin.

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

İç İçe Yapılar

JSON iç içe yapıları destekler. Ayrıştırma işlemi karma tabloların ve dizilerin tüm ağacını yeniden oluşturur.

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

Tür Eşlemesi

JSON türleri Ruby'de şu şekilde eşleşir:

  • object → karma tablo, array → dizi
  • string → dize, number → tamsayı/kayan noktalı sayı
  • 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)

JSON'u Dosyaya Yazma

Verileri diske kaydetmek için pretty_generate ile File.write yöntemini birlikte kullanın.

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

Dosyadan JSON Okuma

Dosyanın içeriğini okuyup tek adımda ayrıştırın.

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

Ayrıştırma Hatalarını Ele Alma

Bozuk JSON, JSON::ParserError hatası oluşturur. Hatalı girdiyi uygun biçimde ele almak için bu hatayı rescue ile yakalayın.

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

Gidiş-Dönüş

Oluşturma işleminin ardından ayrıştırma yapılması eşdeğer veriler döndürmelidir; bu, yararlı bir sağlama denetimidir.

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

Hızlı Kontrol

Hangi seçenek, JSON.parse yönteminin dize anahtarları yerine sembol anahtarları döndürmesini sağlar?

Özet: JSON Okuma ve Yazma

Verileri JSON'a aktarabilir ve JSON'dan geri alabilirsiniz:

  • Dizeleri Ruby nesnelerine dönüştürmek için JSON.parse
  • Sıkıştırılmış JSON için to_json / JSON.generate
  • Okunabilir çıktı için pretty_generate
  • Sembol anahtarları için symbolize_names: true
  • Hatalı girdilerde JSON::ParserError hatasını rescue ile yakalama
require 'json'
puts(JSON.parse('[1,2,3]').sum)

Sıkça Sorulan Sorular

“JSON Okuma ve Yazma” dersi ücretsiz mi?

Evet — “JSON Okuma ve Yazma” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Ruby Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Ruby Academy kursu toplamda 4 dersten oluşur.

“JSON Okuma ve Yazma” dersinde ne öğreneceğim?

JSON.parse ve generate Ruby Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Ruby Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Ruby Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.

“JSON Okuma ve Yazma” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Ruby Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Ruby Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. JSON Okuma ve Yazma
  2. CSV ile Çalışma
  3. YAML Yapılandırması
  4. Biçim Seçme
← Ruby Academy Sayfasına Dön