json - 如何解析包含键值对的 JSON 对象?

标签 json parsing kotlin retrofit2 dto

首先:我知道 JSON 应该包含一个带有键值对的数组,但它不是我的 API,所以我无法更改它。

响应如下所示:

{
    "translations": {
        "my.key.nr.0": "Value 0",
        "my.key.nr.1": "Value 1",
        "my.key.nr.2": "Value 2",
        "my.key.nr.3": "Value 3",
    },
    "hash": "123xyz",
    "length": 3,
    "language": "de"
}

这是我到目前为止的 DTO:

data class TranslationsDto(
    val translations: ??????????, // <-- dont't know what to use here
    val hash: String?,
    val length: Int?,
    val language: String?
)

最后,这是我的问题:

我需要解析我可以在我的应用程序中使用的 DTO 的响应(至少 Retrofit 应该解析响应)。如果 translations 的值是一个数组,那就没有问题,但我不知道如何解析这个 JSON 结构。

也许你们中的任何人都有一些想法?

最佳答案

该死...毕竟有时我很盲目...

只需使用 Map<String,String> :

data class TranslationsDto(
    val translations: Map<String,String>?,
    val hash: String?,
    val length: Int?,
    val language: String?
)

关于json - 如何解析包含键值对的 JSON 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57272556/

相关文章:

kotlin - moshi自定义限定符批注仅在一个属性上序列化null

javascript - 使用 PHP 和 Json 的动态 dhtmlx 组织结构图

javascript - 从 JSON 对象 KEYS 创建字符串 - Vanilla JavaScript 或 lodash

c - 首先在 lex 中添加要编译的代码

c++ - 在 C++ 中通过 libxml2 解析部分 XML 时过滤掉 namespace 错误

android - Anko doAsyncResult 协程

ruby-on-rails - Rails 呈现为 json,包括嵌套属性和排序

python - 如何在 CSV 到 JSON 转换中保持浮点精度(通过 pandas.read_csv)?

python - beautifulsoup 解析时出现问题

android - 如何调用Kotlin中具有参数的传递方法?