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

How to parse an JSONObject containing key-value-pairs?

首先:我知道 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?
)

最后,这是我的问题:

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

也许你们有什么想法?

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

只需使用 Map<String,String> :

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