gpt4 book ai didi

使用 kotlin 的 Json 数据

转载 作者:行者123 更新时间:2023-12-02 13:22:28 27 4
gpt4 key购买 nike

我目前正在开发一个应用程序,我希望将 JSON 提取到一个类中,但这比仅匹配字段要困难一些。我正在使用 Moshi 进行 JSON 管理。

以下是我拥有的 JSON:

{
"common" :{
"source_url": "xxxx",
"target_url": "yyy
},
"specific":{
"A":{
"setting": "ccc",
},
"B":{
"setting": "ddd",
}
}
}

我的目标是基于如下所示的数据类获取对象:
data class config(
val sourceUrl: String,
val targetUrl: String,
val setting: String
)

我开始的是首先创建不同的数据类,以允许我在获取上述类对象之前操作数据。

--GeneralConfig.kt
data class GeneralConfig(
val common: CommonConfig,
val specific: Specific
)

-- CommonConfig.kt
data class CommonConfig(
@Json(val name = "source_url") sourceUrl: String,
@Json(val name = "target_url") val targetUrl: String
)

-- 具体配置.kt
data class SpecificConfig(
setting: String,
)

我有两个主要问题:
  • 如何访问“特定”“A/B”数据并获取对象类SpecificConfig .我可以在我的generalConfig数据类直接从specific中提取一个字段并选择 AB通过传递参数
  • 是否可以避免创建多个数据类来获取我的最终类对象 config

  • 目的是拥有一个包含通用数据和特定数据的json。我需要构建一个最终数据类,它从公共(public)数据和特定数据之一合并。

    任何的想法 ?谢谢

    最佳答案

    试试这个
    1.修改你的

    data class SpecificConfig(
    setting: String,
    )


    data class SpecificConfig(
    @Json(val name = "A") val a : JsonObject,
    @Json(val name = "B") val b: JsonObject
    )

    第二:创建另外2个类,即
    data class AConfig(
    setting: String,
    )

    data class BConfig(
    setting: String,
    )

    第三:修改
    data class config(
    val sourceUrl: String,
    val targetUrl: String,
    val setting: String
    )


    data class config(
    val sourceUrl: String,
    val targetUrl: String,
    val setting: String,
    val a: JsonObject,
    val b: JsonObject
    )

    关于使用 kotlin 的 Json 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52659607/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com