Kotlin

Serialization

Swift

Example: JSON serialization

                  plugins {
     id 'org.jetbrains.kotlin.jvm' version '1.4.30'
     id 'org.jetbrains.kotlin.plugin.serialization' version '1.4.30'  
 }
                
                  plugins {
     kotlin("jvm") version "1.4.30"
     kotlin("plugin.serialization") version "1.4.30"
 }
                
                  dependencies {
     implementation 'org.jetbrains.kotlinx:kotlinx-serialization-json:1.1.0-RC'
 }
                
                  dependencies {
     implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.1.0-RC")
 }
                
                  @Serializable
data class Data(val a: Int, val b: String)
                
                    struct DataStruct: Codable {
    let a: Int
    let b: String
}

                  
                  Json.encodeToString(Data(a = 42, b = "str"))
                
                    let data = try JSONEncoder().encode(DataStruct(a: 42, b: "str"))
print(String(data: data, encoding: .utf8)!)

                  
                  val dataList = listOf(Data(42, "abc"), Data(12, "test"))
val jsonList = Json.encodeToString(dataList)
                
                    let dataList = [(DataStruct(a: 42, b: "abc"), DataStruct(a: 12, b: "test")]

let data = try! JSONEncoder().encode(dataList)
let jsonList = String(data: data, encoding: .utf8)!

                  
                  val obj = Json.decodeFromString<Data>("""{"a":42, "b": "str"}""")
                
                    let data = Data("{\"a\":42, \"b\": \"str\"}".utf8)
let movie = try JSONDecoder().decode(DataStruct.self, from: data)