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'
endGidiş-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::ParserErrorhatası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
- JSON Okuma ve Yazma
- CSV ile Çalışma
- YAML Yapılandırması
- Biçim Seçme