Swift: JSON Parsing ve Encoding: Nasıl Yapılır?
JSON (JavaScript Object Notation) bir veri değişim formatıdır. Swift dilinde JSON ile çalışmak, verileri kodlamak ve çözmek için kullanılan temel bir tekniktir. Bu makalede, JSON’u kullanarak Swift dilinde nasıl kodlayacağınızı ve çözeceğinizi anlatacağız.
Swift dilinde JSON’u kodlamak ve çözmek için kullanılan iki temel API vardır: Codable ve JSONSerialization. İkisi de JSON verilerini kodlamak ve çözmek için kullanılabilir. Ancak, Codable API daha basit ve kolay kullanılabilir bir yöntem sunar.
Codable API kullanarak JSON’u kodlamak için, bir veri modeli oluşturmanız gerekir. Veri modeli, verileri saklamak için kullanılan türleri tanımlayan bir yapıdır. Veri modelindeki türler, JSON verilerini temsil etmek için kullanılır. Örneğin, bir JSON verisi şöyle olabilir:
“`json
{
“name”: “John Doe”,
“age”: 35
}
“`
Veri modelinizde, bu veriyi temsil eden iki tür olmalıdır: String ve Int. Veri modelinizi tanımladıktan sonra, kodlama işlemine başlayabilirsiniz. Kodlama işlemi, JSON verisini bir veri modeline dönüştürmek için kullanılan bir kodlama sürecidir.
Kodlama işlemi, JSON verisini temsil eden türleri kullanarak veri modeline dönüştürür. Kodlama işlemi için, encode() fonksiyonunu kullanırsınız. Kodlama işlemi, JSON verisini bir veri modeline dönüştürürken, veri modelindeki türlerin değerlerini JSON verisindeki değerlerle değiştirir. Örneğin, JSON verisindeki “name” değeri veri modelindeki String türünde bir değer olarak kodlanır.
Encode() fonksiyonu, bir veri modelini JSON verisine dönüştürmek için kullanılan bir kodlama sürecidir. Kodlama işlemi, JSON verisinin türlerini kullanarak bir veri modeline dönüştürür. Örneğin, JSON verisindeki “name” değeri bir String türüne dönüştürülür.
Kodlama işlemi tamamlandıktan sonra, JSON verisini bir dosyaya kaydetmek için JSONSerialization API’sini kullanabilirsiniz. JSONSerialization API’si, JSON verilerini dosyaya kaydetmek için kullanılan bir API’dir. JSONSerialization API’si, JSON verisini bir dosyaya kaydederken, JSON verisinin türlerini ve değerlerini dosyaya kaydeder.
Şimdi, JSON verisini çözmek için kullanabileceğiniz iki temel API vardır: Codable ve JSONSerialization. İkisi de JSON verilerini çözmek için kullanılabilir. Ancak, Codable API daha basit ve kolay kullanılabilir bir yöntem sunar.
Codable API kullanarak JSON verisini çözmek için, aynı veri modelini kullanmanız gerekir. Veri modeli, JSON verisini temsil eden türleri tanımlayan bir yapıdır. Kodlama işleminde kullandığınız veri modeli, çözme işleminde de kullanılır.
Çözme işlemi, JSON verisini temsil eden türleri kullanarak veri modeline dönüştürür. Çözme işlemi için, decode() fonksiyonunu kullanırsınız. Çözme işlemi, JSON verisini bir veri modeline dönüştürürken, veri modelindeki değerleri JSON verisindeki değerlerle değiştirir. Örneğin, JSON verisindeki “name” değeri bir String türüne dönüştürülür.
Decode() fonksiyonu, JSON verisini bir veri modeline dönüştürmek için kullanılan bir çözme sürecidir. Çözme işlemi, JSON verisini temsil eden türleri kullanarak veri modeline dönüştürür. Örneğin, JSON verisindeki “name” değeri bir String türüne dönüştürülür.
Bu makalede, Swift dilinde JSON’u kodlamak ve çözmek için kullanılan iki temel API olan Codable ve JSONSerialization API’sini anlatmaya çalıştık. Kodlama ve çözme işlemlerini anlamak için, veri modelini ve JSON verisini temsil eden türleri öğrenmeniz gerekir. Kodlama ve çözme işlemleri tamamlandıktan sonra, JSON verisini bir dosyaya kaydetmek için JSONSerialization API’sini kullanabilirsiniz.
struct Person {
let name: String
let age: Int
}
let json = """
{
"name": "John Doe",
"age": 35
}
"""
// Kodlama işlemi
let person = try? JSONDecoder().decode(Person.self, from: json.data(using: .utf8)!)
// Çözme işlemi
if let data = try? JSONEncoder().encode(person) {
if let jsonString = String(data: data, encoding: .utf8) {
print(jsonString)
}
}