JSON Neden Kullanılır
Veri alışverişinin temelleri.
JSON Neden Kullanılır, CoddyKit'te ücretsiz bir Lua 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, Lua Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Lua Academy kursu toplamda 4 dersten oluşur.
JSON Nedir
JSON (JavaScript Nesne Gösterimi), verileri depolamak ve değiştirmek için kullanılan, hafif bir metin biçimidir. İnsanlar tarafından okunabilir ve herhangi bir dile bağlı değildir.
Neredeyse her web hizmeti, yapılandırma dosyası ve veritabanı JSON kullanır. JSON ile Lua tabloları arasında dönüşüm yapmayı öğrenmek, betiklerinizin dış dünyayla iletişim kurmasını sağlar.
JSON Lua'ya Benzer
JSON nesneleri, anahtar-değer çiftleriyle birlikte küme parantezleri kullanır; diziler ise köşeli parantezleri kullanır. Bu yapı neredeyse kusursuz biçimde Lua tablolarına karşılık gelir.
Bir JSON nesnesi, dize anahtarlarına sahip bir Lua tablosuna; bir JSON dizisi ise 1'den başlayan sayısal indisleri olan bir Lua tablosuna dönüşür.
-- JSON text
-- {"name": "Ada", "age": 36}
-- Equivalent Lua table
local person = { name = "Ada", age = 36 }
print(person.name)Lua'da Yerleşik JSON Yoktur
Bazı dillerin aksine standart Lua, JSON desteğiyle birlikte gelmez. Bir kitaplık kullanmanız gerekir.
En yaygın iki seçenek dkjson (saf Lua, kurulumu kolay) ve lua-cjson (hızlı bir C kitaplığıdır). Her ikisi de encode ve decode işlevlerini sunar.
JSON Kitaplığı Yükleme
Herhangi bir Lua modülü gibi, bir JSON kitaplığını da require ile yüklersiniz. Döndürülen tablo, ihtiyacınız olan işlevleri içerir.
Burada dkjson'i yükleyip onu json adlı yerel bir değişkene bağlarız.
local json = require("dkjson")
-- now json.encode and json.decode are readyİki Temel İşlem
JSON ile yapacağınız yalnızca iki işlem vardır: decode ve encode.
Kod çözme, bir JSON dizesini okuyabileceğiniz bir Lua tablosuna dönüştürür. Kodlama ise bir Lua tablosunu gönderilebilecek veya kaydedilebilecek bir JSON dizesine dönüştürür.
local json = require("dkjson")
local t = json.decode('{"ok": true}') -- string -> table
local s = json.encode(t) -- table -> stringKod Çözme Örneği
Bir dosyadan veya web hizmetinden JSON metni aldığınızda, json.decode bu metni kullanılabilir bir Lua tablosuna ayrıştırır.
Kod çözme işleminden sonra alanlara normal Lua sözdizimiyle erişirsiniz.
local json = require("dkjson")
local text = '{"city": "Oslo", "temp": 7}'
local data = json.decode(text)
print(data.city, data.temp)Kodlama Örneği
JSON oluşturmak için bir Lua tablosunu doldurup json.encode işlevine aktarın. Sonuç, yazılmaya veya gönderilmeye hazır bir dizedir.
local json = require("dkjson")
local book = { title = "Lua", pages = 328 }
local text = json.encode(book)
print(text)JSON Veri Türleri
JSON; dizeler, sayılar, mantıksal değerler, boş değer, nesneler ve dizilerden oluşan küçük bir tür kümesini destekler.
Lua bunları dizelere, sayılara, mantıksal değerlere, nil'e ve tablolara dönüştürür. JSON'daki null değerinin Lua'da tam karşılığı olmadığını unutmayın; bu durum beklenmedik sonuçlara yol açabilir.
Özel Biçimler Yerine Neden JSON
Kendi metin biçiminizi oluşturabilirsiniz; ancak JSON zaten her yerde anlaşılır. Düzenleyiciler JSON'u renklendirir, doğrulayıcılar denetler ve diğer diller onu anında ayrıştırır.
JSON kullanmak verilerinizi taşınabilir, kodunuzu da hataları ayıklamayı kolaylaştıracak hale getirir.
Yaygın Kullanım Alanları
REST hizmetlerini çağırırken, yapılandırma dosyalarını okurken, sonuçları önbelleğe alırken veya işlemler arasında veri aktarırken JSON kullanırsınız.
Her durumda izlenen düzen aynıdır: gelen JSON'u bir tabloya dönüştürün, onunla çalışın ve göndermeniz gerektiğinde yeniden JSON'a dönüştürün.
local json = require("dkjson")
-- typical round trip
local data = json.decode(incoming)
data.seen = true
local out = json.encode(data)Kod Çözme Hatalarını Ele Alma
Metin geçerli bir JSON değilse kod çözme işlemi başarısız olabilir. dkjson, programı çökertmek yerine değeri, konumu ve hata mesajını döndürür.
Kullanmadan önce ilk döndürülen değerin nil olup olmadığını her zaman kontrol edin.
local json = require("dkjson")
local data, pos, err = json.decode("{bad")
if not data then
print("Invalid JSON:", err)
endHızlı Kontrol
Lua'da JSON'un temellerini anlayıp anlamadığınızı sınayın.
Özet
JSON, Lua tablolarına düzgün biçimde karşılık gelen evrensel bir veri biçimidir. Standart Lua'da JSON desteği bulunmadığından dkjson veya cjson gibi bir kitaplık yüklersiniz.
İki temel işlem json.decode (dizeden tabloya) ve json.encode (tablodan dizeye) işlemleridir. Sırada JSON'u tablolara ayrıntılı biçimde dönüştürmeyi öğreneceksiniz.
Sıkça Sorulan Sorular
“JSON Neden Kullanılır” dersi ücretsiz mi?
Evet — “JSON Neden Kullanılır” 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 Lua Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Lua Academy kursu toplamda 4 dersten oluşur.
“JSON Neden Kullanılır” dersinde ne öğreneceğim?
Veri alışverişinin temelleri. Lua 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.
Lua Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Lua 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 Neden Kullanılır” 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 Lua Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Lua 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 Neden Kullanılır
- JSON'u Tablolara Kod Çözme
- Tabloları JSON'a Kodlama
- İç İçe Verileri Yönetme