Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在Kotlin中生成唯一的json对象名gson_Android_Json_Kotlin_Gson - Fatal编程技术网

Android 在Kotlin中生成唯一的json对象名gson

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时,gson将使用下面的值生成Object1,当有Object1时,gson将生成Object2,依此类推

{
    "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来做这件事。