Protocolul Codable: Codificare și Decodificare JSON Nativă (JSONDecoder) în Swift în Swift (iOS & macOS)

Sintaxă Swift
struct Model: Codable { ... }; JSONDecoder().decode(Model.self, from: data)

`Codable` este compoziția protocoalelor `Encodable` și `Decodable`. Permite serializarea și deserializarea automată a structurilor Swift în și din format JSON prin `JSONDecoder` și `JSONEncoder`, eliminând codul repetitiv de parsare manuală a dicționarelor.

Serializare Tipizată Nativă și Suport CodingKeys

Enum-ul intern `CodingKeys` permite maparea numelor de chei ‘snake_case’ din JSON la proprietăți ‘camelCase’ Swift.

struct ServerConfig: Codable {
    let hostName: String
    let portNumber: Int
    
    enum CodingKeys: String, CodingKey {
        case hostName = "host_name"
        case portNumber = "port_number"
    }
}

let json = "{\"host_name\": \"dexblog.ro\", \"port_number\": 443}".data(using: .utf8)!
let config = try JSONDecoder().decode(ServerConfig.self, from: json)
print("Conectat la: \(config.hostName)")

Stăpânirea acestei funcționalități în Swift 6 asigură dezvoltarea unor aplicații native iOS și macOS performante, sigure la nivel de memorie și perfect integrate în ecosistemul modern Apple.

Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: Protocolul Codable: Codificare și Decodificare JSON Nativă (JSONDecoder) în Swift

Ai o nelămurire despre utilizarea comenzii Protocolul Codable: Codificare și Decodificare JSON Nativă (JSONDecoder) în Swift sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!

💬

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.