首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kotlinx序列化-如何为未知字段名编写数据类

Kotlinx序列化-如何为未知字段名编写数据类
EN

Stack Overflow用户
提问于 2021-04-16 16:34:55
回答 1查看 240关注 0票数 1

我尝试为公共API中的以下JSON响应编写一个数据类:

代码语言:javascript
复制
{
  "error": [],
  "result": {
    "AAVE": {
      "aclass": "currency",
      "altname": "AAVE",
      "decimals": 10,
      "display_decimals": 5
    },
    "ADA": {
      "aclass": "currency",
      "altname": "ADA",
      "decimals": 8,
      "display_decimals": 6
    },
    "ALGO": {
      "aclass": "currency",
      "altname": "ALGO",
      "decimals": 8,
      "display_decimals": 5
    },
    "ANT": {
      "aclass": "currency",
      "altname": "ANT",
      "decimals": 10,
      "display_decimals": 5
    }  
  }
}

我的数据类如下所示:

代码语言:javascript
复制
@Serializable
data class AssetInfo (
        @SerialName("error")
        val error: List<String>?,

        @SerialName("result")
        val result: Result,

)

@Serializable
data class Result(
/*
Here is the problem, because the field "asset_name" does not exist.
*/
        @SerialName("asset_name")
        val asset_name: Asset,

)

@Serializable
data class Asset(
        @SerialName("altname")
        val altname : String,

        @SerialName("aclass")
        val aclass  : String,

        @SerialName("decimals")
        val decimals  : String,

        @SerialName("display_decimals")
        val display_decimals  : String,
)

在数据类"Result“中,我声明为"asset_name”的字段名对于每个条目都是不同的。数据类应该是什么样子的?有人能帮帮忙吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-16 17:46:14

Result类中不需要。您的数据类应如下所示:

代码语言:javascript
复制
@Serializable
data class AssetInfo(
    @SerialName("error")
    val error: List<String>?,

    @SerialName("result")
    val result: Map<String, Asset>
)

@Serializable
data class Asset(
    @SerialName("altname")
    val altname: String,

    @SerialName("aclass")
    val aclass: String,

    @SerialName("decimals")
    val decimals: Int,

    @SerialName("display_decimals")
    val display_decimals: Int
)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67121819

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档