Kotlin JSON Phân Tích - tỉ số ngoại hạng anh

/imgposts/l8gh9aac.jpg

Chuyển đổi một tập hợp dữ liệu dạng key / value thành chuỗi được phân tích JSON, sau đó tải lên tỉ số ngoại hạng anh máy chủ.

Lô-gic cơ bản là trước tiên định nghĩa một lớp data class, sau đó thực hiện thao tác phân tích.

import kotlinx.serialization.Serializable
import kotlinx.serialization.json.Json
import kotlinx.serialization.encodeToString

@Serializable
data class Data(val tuoi: Int, val ten: String)

fun main() {
    val json = Json.encodeToString(Data(18, "Con voi"))
}

SerializationStrategy<TypeVariable(T)> được mong đợi. Lưu ý rằng nếu bạn không nhập:

import kotlinx.serialization.encodeToString

Sẽ xảy ra lỗi.

Bạn có thể nhận được thông báo cá độ bóng đá cảnh báo:

Plugin biên dịch kotlinx.serialization không được áp dụng cho mô-đun, vì vậy annotation này sẽ không được xử lý. Hãy đảm bảo rằng buildscript của bạn đã được thiết lập đúng và tái nhập dự án.

Ngoài các phụ thuộc thông thường, bạn cần thêm phụ thuộc của plugin: Trong build.gradle cấp dự án:

id 'org.jetbrains.kotlin.plugin.serialization' version '1.9.24'

Và trong build.gradle cấp mô-đun:

plugins {
    id 'org.jetbrains.kotlin.plugin.serialization'
}

Tuy nhiên, ngay cả khi bỏ qua cảnh báo này, bạn vẫn có thể biên dịch thành công nhưng chương trình sẽ báo lỗi và sập khi chạy.

kotlinx.serialization.SerializationException: Serializer cho lớp 'Data' không tìm thấy. Vui lòng đảm bảo rằng lớp đã được đánh dấu bằng '@Serializable' và plugin compiler serialization đã được áp dụng.