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)
|