【问题标题】:I can't parse a JSON with gson我无法用 gson 解析 JSON
【发布时间】:2021-08-23 12:17:12
【问题描述】:

我有这部分我的 json POKEAPI get pokemons/sprite/version/

来自 POKEAPI,问题出在 kotlin 我不能使用“-”来创建变量,例如:“var myvar-i = 0”,我需要创建与 GSON 的 JSON 完全相同的变量映射和我需要的JSON中的精灵是这样的

第一代 第二代 等等。

在 kotlin 中,我无法使用“-”创建变量 enter image description here

有人帮助我,¿我如何在 kotlin 中映射该信息?

【问题讨论】:

  • 理论上你可以使用反引号来转义变量名:var `my-i` = 0 但我仍然建议使用注释作为自定义序列名,因为此功能主要用于解决跨语言中关键字冲突的兼容性问题项目。
  • 我猜想使用地图而不是字段可能更适合该 API:如果我了解该 API 的工作原理,那么这些名称就会显示为其他有效负载的值。所以我真的不认为你应该费心将它映射到字段而不是映射。

标签: json android-studio kotlin gson mapping


【解决方案1】:

可以使用注解@SerializedName

在你的情况下,它会是这样的:

class Versions {
    @SerializedName("generation-i")
    var generation1: Generationgame? = null
   ...
}

关于注释的更多信息可以在the docs找到。

【讨论】:

    猜你喜欢
    • 2018-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-14
    • 1970-01-01
    • 2012-11-08
    • 2018-07-14
    相关资源
    最近更新 更多