JSON
JSON (JavaScript Object Notation), hafif bir veri değişim formatıdır ve insanlar tarafından okunması ve yazılması kolaydır. Go dilinde, encoding/json
paketi, JSON verileri ile işlem yapmak için kullanılabilir.
JSON verileri, anahtar/değer çiftleri veya dizilerden oluşur. Anahtarlar bir string, değerler ise bir JSON verisi olabilir. JSON verileri, {}
(süslü parantezler) ile belirtilen nesneler şeklinde de olabilir.
Örnek bir JSON verisi şöyle görünebilir:
Bu veri, name
, age
ve city
olmak üzere üç anahtar taşır. name
anahtarı bir string değeri, age
anahtarı bir sayısal değer ve city
anahtarı da yine bir string değeridir.
Go dilinde, JSON verileri için struct
yapısı kullanılabilir. struct
yapısındaki alanlar, JSON verisindeki anahtarlarla eşleştirilebilir. Ardından, encoding/json
paketinde yer alan Marshal()
ve Unmarshal()
fonksiyonları kullanılarak, Go nesnesi ve JSON verisi arasında dönüşüm yapılabilir.
Örneğin, bir Person
struct'ı tanımlayalım ve bu struct'ı JSON verisiyle eşleştirelim:
Burada, Person
struct'ının alanları, JSON verisindeki anahtarlarla eşleştirilmiştir. Name
alanı için name
, Age
alanı için age
, City
alanı için ise city
anahtarları kullanılmıştır.
Bu struct'ı JSON verisine dönüştürmek için, json.Marshal()
fonksiyonu kullanılabilir:
Burada, Person
struct'ı bir person
değişkeni olarak tanımlanır ve json.Marshal()
fonksiyonu kullanılarak person
nesnesi JSON verisine dönüştürülür. Elde edilen JSON verisi, string()
fonksiyonu kullanılarak string türüne dönüştürülür ve ekrana yazdırılır.
Bir başka örnek de, JSON verilerini Go veri yapılarına dönüştürmek ve tersi işlemi yapmak için json.Marshal()
ve json.Unmarshal()
fonksiyonlarını kullanmaktır. Örneğin:
Bu örnekte, Person
adlı bir yapı tanımlanır ve json.Marshal()
ve json.Unmarshal()
fonksiyonları kullanılarak bu yapı JSON verisi olarak kodlanır ve çözümlenir.
Last updated