Я новичок в Json и Gson, я знаю, что могу сопоставить json в классе и сопоставить класс с json через Gson.
«Мой Json» – это данные json, я пытаюсь создать класс «Мой класс» для сопоставления, но я думаю, что «Мой класс» не очень хорош. Не могли бы вы показать мне пример кода? Благодаря!
Мои занятия
data class Setting ( val _id: Long, val Bluetooth_Stauts: Boolean, val WiFi_Name,String val WiFi_Statuse: Boolean )
Мой Json
{ "Setting": [ { "id": "34345", "Bluetooth": { "Status": "ON" }, "WiFi": { "Name": "MyConnect", "Status": "OFF" } } , { "id": "16454", "Bluetooth": { "Status": "OFF" } } ] }
обновленный
Следующее сделано соображением Риву Чакраборти, оно может работать хорошо, но это сложно, есть ли простой способ?
data class BluetoothDef(val Status:Boolean=false) data class WiFiDef(val Name:String, val Status:Boolean=false) data class MDetail ( val _id: Long, val bluetooth: BluetoothDef, val wiFi:WiFiDef ) data class MDetailsList(val mListMetail: MutableList<MDetail>) var mBluetoothDef1=BluetoothDef() var mWiFiDef1=WiFiDef("MyConnect 1",true) var aMDetail1= MDetail(5L,mBluetoothDef1,mWiFiDef1) var mBluetoothDef2=BluetoothDef(true) var mWiFiDef2=WiFiDef("MyConnect 2") var aMDetail2= MDetail(6L,mBluetoothDef2,mWiFiDef2) val mListMetail:MutableList<MDetail> = mutableListOf(aMDetail1,aMDetail2) var aMDetailsList=MDetailsList(mListMetail) val json = Gson().toJson(aMDetailsList)
Согласно вашей структуре JSON, я думаю, что ниже определение класса должно работать с Gson
data class Setting ( val id: Long, val Bluetooth: BluetoothDef, val WiFi:WiFiDef ) data class BluetoothDef(val Status:String) data class WiFiDef(val Name:String, val Status:String)
Объяснение –
String
если вы получаете строки, такие как "ON"
и "OFF"
. Вы можете использовать Boolean
если вы получаете true
и false
(без кавычек). * Примечание. Вы можете переименовать классы, если хотите.
Я думаю, это будет полезно для вас