kotlin 如何使用动态变化键序列化JSON?

14ifxucb  于 2023-03-30  发布在  Kotlin
关注(0)|答案(1)|浏览(205)

我有Json:

{
  "216632": {
    "prefiks": "",
    "anyid": "0",
    "tel": "123456789",
    "firma": "Brand",
    "fio": "Name",
    "comment": "Text",
    "address": "Address",
    "kv": "99",
    "adres_id": "11130",
    "gps": "99.666666 66.777777",
    "oplata": 0,
    "tovarName": "Simple.",
    "tovar": "23",
    "fish": "0",
    "finish": "1",
    "utro": "0",
    "unik": "0",
    "chek": "0",
    "bezcont": "0",
    "courier_price": "0",
    "sort": "13"
  },
  "246578":{
......
......
......

216322可以有任何名字(215423,654345 ...)如何在数据类中序列化它?我有:

@kotlinx.serialization.Serializable
data class ServerData(
    val **UUID** : FromServer
)
@kotlinx.serialization.Serializable
data class FromServer(
    val adres: String,
    val adres_id: String,
    val anyid: String,
    val bezcont: String,
    val chek: String,
    val comment: String,
    val courier_price: String,
    val finish: String,
    val fio: String,
    val firma: String,
    val fish: String,
    val kv: String,
    val oplata: Int,
    val prefiks: String,
    val sort: String,
    val tel: String,
    val tovar: String,
    val unik: String,
    val utro: String
)

UUID自然是错误的选项,我该怎么做才对?应该用什么代替UUID

我使用KotlinX序列化
我到处都找不到信息

nzrxty8p

nzrxty8p1#

您可能需要分两步解析它:首先,将整个Json-String解析为JsonObject。然后可以查询它的所有属性,然后为FromServer解析每个属性。
另一种方法是,如果您使用GsonMoshi,则可以为这些json编写自定义适配器。

相关问题