gpt4 book ai didi

java - Kotlin : Passing HashMap with multiple value types into function

转载 作者:行者123 更新时间:2023-11-29 08:25:06 24 4
gpt4 key购买 nike

我有一个如下所示的 HashMap:

{
"name": "George",
"weeks": [
{
"checked": true,
"days": [
{
"checked": true,
"exercises": [
{
"exercise": "Bench Press",
"sets": [
{
"weight": 300,
"reps": 20
},
{
"weight": 400,
"reps": 30
}
]
}
]
}
]
}
]
}

所以我想我可以像这样将它传递给类的构造函数:

data class Gainer(val weeks: ArrayList<HashMap<String, ArrayList<HashMap<String, ArrayList<HashMap<String, ArrayList<HashMap<String, Long>>>>>>>>?, val name: String?) {

但是,我收到了这个错误:

java.lang.RuntimeException: Could not deserialize object. Expected a List, but got a class java.lang.String (found in field 'weeks.[0].days.[0].exercises.[0].exercise')

我猜我收到这个错误是因为当我指定 Hashmap<String, ArrayList ...> 时期待String作为 key 类型和 ArrayList作为值类型。但是,有时我会设置一个 boolean作为值之一和 ArrayList作为不同的值(value)。我不确定如何指定多个值类型。

编辑:我传递的实际上不是显示的 json 数据。它在技术上是一个文档快照。我从 Firestore 得到它。抱歉,我应该更清楚地说明这一点。

最佳答案

我一直使用Json to Kotlin Class Plugin

Json to Kotlin Class 是一个插件,可以更轻松地从 json 文件创建 POJO,并且它将解决您创建数据类的问题。

你可以在这个gif中看到用法:

Json to Kotlin Class Plugin gif

您应该下载并添加到您的 Android Studio 或 IntelliJ IDE 作为插件
这是下载链接~> Json to Kotlin Class

它救了我的命!

关于java - Kotlin : Passing HashMap with multiple value types into function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53844025/

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