Android 在Kotlin中生成唯一的json对象名gson
如何根据下面的对象名称生成新对象。我在这里试图做的是,当没有Object1时,gson将使用下面的值生成Object1,当有Object1时,gson将生成Object2,依此类推Android 在Kotlin中生成唯一的json对象名gson,android,json,kotlin,gson,Android,Json,Kotlin,Gson,如何根据下面的对象名称生成新对象。我在这里试图做的是,当没有Object1时,gson将使用下面的值生成Object1,当有Object1时,gson将生成Object2,依此类推 { "Object1": { "Name": "Object1", "Color": "Orange", "Food": "Pizza" }, "Object2": { "Name": "Object2", "Co
{
"Object1": {
"Name": "Object1",
"Color": "Orange",
"Food": "Pizza"
},
"Object2": {
"Name": "Object2",
"Color": "Blue",
"Food": "Pineapple"
}
}
在类对象中生成唯一属性意味着您可以动态地拥有一个类,例如
FoodData {
var object1 : Food?
var object2 : Food?
// And so on...
}
对我来说,这似乎是一个结构性问题。您的响应应该针对您拥有和需要的数据结构。更可接受的办法是:
[
{
"Name": "Object1",
"Color": "Orange",
"Food": "Pizza",
"someAttr" : "Object1"
},
{
"Name": "Object2",
"Color": "Blue",
"Food": "Pineapple",
"someAttr" : "Object2"
}
]
然后有一份食物清单会更有意义,比如:
FoodData {
var listFood: List<Food>?
}
添加一些相关的code@Basi谢谢你的帮助,但我不能添加相关代码,因为我真的不知道如何做。我尝试过使用POJO,但我认为它不起作用。我正在尝试制作一个应用程序,当用户添加一个设备时,将有一个新对象,它的首选项将生成并显示在主屏幕上的回收器视图中。我希望它像智能家居设备一样,可以添加一个设备并在家庭屏幕中控制它。Object1和Object2是什么意思?它们应该是两个不同的类还是同一类的两个实例?另外,您是否总是希望在JSON中接收Object1和Object2,或者它们是否可以动态更改?@Zoe感谢您告诉我这一点。我不再重复了。我真的认为我可以用它,因为我用android studio来做这件事。