0

我有一个看起来像这样的有效载荷:

{
    "data": {
        "12345": {
            "is_indexable": true,
            "description": "Lorem description",
            "items": {
                "id": 2644,
                "name": "Naming here"
            }
        },
        "678910": {
            "is_indexable": false,
            "description": "Lorem description 2",
            "items": {
                "id": 29844,
                "name": "Naming here again"
            }
        }
    }
}

我想使用https://transform.tools/json-to-kotlin之类的工具为该有效负载生成一个特定的数据类,但这是不可能的,因为“数据”对象内的数组是一个 ID(所以是一个动态数据)

data class Root(
    val data_field: Data
)

data class Data(
    val payload: List<Payload>, // Something to represent the dynamic ids
)

data class Payload(
    val isIndexable: Boolean,
    val description: String,
    val items: Items
)

data class Items(
    val id: Long,
    val name: String
)

我不知道我是否清楚,您是否有想法以一种干净的方式进行此操作?

谢谢你们 !

4

2 回答 2

0

android studio 中添加了一个很棒的插件,它将这个有效负载转换为合适的类,例如,JSON 有一个对象,在对象内部,有很多对象和数组,这个工具将把所有这些都确定为类

您可以从此链接加载它:

https://plugins.jetbrains.com/plugin/9960-json-to-kotlin-class-jsontokotlinclass 从这个链接,你也可以知道如何使用这个工具

转到android studio并从文件->设置->插件->从磁盘安装插件

在此处输入图像描述

并轻松无问题地转换它

祝你好运

于 2021-06-27T08:31:53.897 回答
0

你需要地图数组来实现这一点。您现在正在地图中构建地图。如果您需要数组,它应该如下所示;

{
    "data": [
        { id: "12345", 
            "is_indexable": true,
            "description": "Lorem description",
            "items": {
                "id": 2644,
                "name": "Naming here"
            }
        },
        {"id" : "678910"
            "is_indexable": false,
            "description": "Lorem description 2",
            "items": {
                "id": 29844,
                "name": "Naming here again"
            }
        }
    ]
}
于 2021-06-26T21:55:49.007 回答